Francis Palma

Francis Palma
Linnaeus University | lnu · Department of Computer Science

PhD in Computer Engineering

About

38
Publications
15,953
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
668
Citations
Citations since 2017
21 Research Items
491 Citations
2017201820192020202120222023020406080100
2017201820192020202120222023020406080100
2017201820192020202120222023020406080100
2017201820192020202120222023020406080100
Introduction
At present, I am working as an Assistant Professor (Universitetslektor) in the Department of Computer Science and Media Technology at the Linnaeus University in Kalmar, Sweden. Before joining Linnaeus University, until October 2018, I worked as a Postdoctoral Research Fellow in Ryerson University with Dr. Ayse Bener as a team member of her Data Science Laboratory (DSL) with an IBM CAS project on applying Machine Learning techniques
Additional affiliations
September 2011 - August 2015
Polytechnique Montréal
Position
  • PhD Student
September 2011 - August 2015
Polytechnique Montréal
Position
  • Research Assistant
February 2011 - July 2011
Fondazione Bruno Kessler
Position
  • Research Associate

Publications

Publications (38)
Preprint
Full-text available
Requirements prioritization is a critical activity during the early software development process, which produces a set of key requirements to implement. The prioritization process offers a parity among the requirements based on multiple characteristics, including end-users' preferences, cost to implement, and technical dependencies. This paper pres...
Preprint
Full-text available
Software development organisations strive to maintain their effectiveness while the complexity of the systems they develop continues to grow. To tackle this challenge, organisations tend to be organised into small teams working with components that can be developed separately. Here, organisations must design their architecture and organisational st...
Conference Paper
The Internet of Things (IoT), as a new paradigm of connected things or objects to the Internet, allows us to monitor the environment by collecting data in a wide spatial and temporal window. Especially the utilization of IoT has increased significantly since the development of the Long Range Wide Area Network (LoRaWAN). However, deploying LoRa gate...
Chapter
This paper presents the activities of the Applied IoT Lab at the Department of Computer Science and Media Technology, Linnaeus University (LNU), Kalmar, Sweden. The lab is actively engaged in IoT-based educational programs, including a series of workshops and pilot cases. The lab is funded by the European Union and two Swedish counties – Kalmar and...
Article
Full-text available
Modern systems produce and handle a large volume of sensitive enterprise data. Therefore, security vulnerabilities in the software systems must be identified and resolved early to prevent security breaches and failures. Predicting security vulnerabilities is an alternative to identifying them as developers write code. In this study, we studied the...
Preprint
Internet of Things (IoT) is a growing technology that relies on connected 'things' that gather data from peer devices and send data to servers via APIs (Application Programming Interfaces). The design quality of those APIs has a direct impact on their understandability and reusability. This study focuses on the linguistic design quality of REST API...
Article
Internet of Things (IoT) is a growing technology that relies on connected ‘things’ that gather data from peer devices and send data to servers via APIs (Application Programming Interfaces). The design quality of those APIs has a direct impact on their understandability and reusability. This study focuses on the linguistic design quality of REST API...
Chapter
Full-text available
REST (REpresentational State Transfer) is an architectural style for distributed, hypermedia systems that allows communication between clients and servers using the HTTP methods and URIs (Uniform Resource Identifiers). In the literature, researchers and practitioners defined best design practices, i.e., REST patterns, violation of which are known a...
Article
Full-text available
Community-aware metrics through socio-technical developer networks or organizational structures have already been studied in the software bug prediction field. Community smells are also proposed to identify communication and collaboration patterns in developer communities. Prior work reports a statistical association between community smells and co...
Article
Full-text available
Many companies, e.g., Facebook and YouTube, use the REST architecture and provide REST APIs to their clients. Like any other software systems, REST APIs need maintenance and must evolve to improve and stay relevant. Antipatterns—poor design practices—hinder this maintenance and evolution. Although the literature defines many antipatterns and propos...
Chapter
Smart devices (or things) in the realm of IoT (Internet of Things) talk to each other and transfer data over the Internet. IoT vendors provide APIs for their clients to send data to the gateways and application servers. However, there is a lack of guidelines on how a vendor would design its API and resource URIs (Uniform Resource Identifiers). A ge...
Conference Paper
Full-text available
Aim: In this study, we aim to re-evaluate research questions on the ability of a logistic regression model proposed in a previous work to predict and prioritize the failing test cases based on some test quality metrics. Background: The process of prioritizing test cases aims to come up with a ranked test suite where test cases meeting certain crite...
Article
Full-text available
This systematic literature review paper investigates the key techniques employed to identify smells in different paradigms of software engineering from object‐oriented (OO) to service‐oriented (SO). In this review, we want to identify commonalities and differences in the identification of smells in OO and SO systems. Our research method relies on a...
Chapter
Full-text available
Cloud computing is a popular Internet-based computing paradigm that provides on-demand computational services and resources, generally offered by Cloud providers’ REpresentational State Transfer (REST) APIs. Developers use REST APIs by invoking these APIs by their names and, thus, the lexicons used in the APIs are important to ease the developers’...
Article
Full-text available
Service-based Systems (SBSs) are developed on top of diverse Service-Oriented Architecture (SOA) technologies or architectural styles. Like any other complex systems, SBSs face both functional and non-functional changes at the design or implementation-level. Such changes may degrade the design quality and quality of service (QoS) of the services in...
Article
Full-text available
Identifier lexicon may have a direct impact on software understandability and reusability and, thus, on the quality of the final software product. Understandability and reusability are two important characteristics of software quality. REpresentational State Transfer (REST) style is becoming a de facto standard adopted by software organizations to...
Conference Paper
Full-text available
Identifier lexicon has a direct impact on software understand- ability and reusability and, thus, on the quality of the final software product. Understandability and reusability are two important character- istics of software quality. REST (REpresentational State Transfer) style is becoming a de facto standard adopted by many software organisa- tio...
Conference Paper
Full-text available
Structured business processes (SBPs) are now in enterprises the prominent solution to software development problems through orchestrating Web services. By their very nature, SBPs evolve through adding new or modifying existing functionalities. Those changes may deteriorate the process design and introduce process antipatterns—poor but recurring sol...
Article
Full-text available
Antipatterns in Service-based Systems (SBSs)- service antipatterns-represent «bad» solutions to recurring design problems. In opposition to design patterns, which are good solutions, antipatterns should be avoided by the engineers. Antipatterns may also be introduced due to diverse changes performed against new user requirements and execution conte...
Article
Full-text available
Like any other software systems, service-based systems (SBSs) evolve frequently to accommodate new user requirements. This evolution may degrade their design and implementation and may cause the introduction of common bad practice solutions - antipatterns - in opposition to patterns which are good solutions to common recurring design problems. We b...
Conference Paper
Full-text available
REST (REpresentational State Transfer), relying on resources as its architectural unit, is currently a popular architectural choice for building Web-based applications. It is shown that design patterns—good solutions to recurring design problems—improve the design quality and facilitate maintenance and evolution of software systems. Antipatterns, o...
Conference Paper
Full-text available
Service Based Systems, composed of Web Services (WSs), offer promising solutions to software development problems for companies. Like other software artefacts, WSs evolve due to the changed user requirements and execution contexts, which may introduce poor solutions-Antipatterns-may cause (1) degradation of design and quality of service (QoS) and (...
Article
Full-text available
Like any other large and complex software systems, Service-Based Systems (SBSs) must evolve to fit new user requirements and execution contexts. The changes resulting from the evolution of SBSs may degrade their design and quality of service (QoS) and may often cause the appearance of common poor solutions in their architecture, called antipatterns...
Conference Paper
Full-text available
[email protected] /* */ With the increasing significance of the serviceoriented paradigm for implementing business solutions, assessing and analyzing such solutions also becomes an essential task to ensure and improve their quality of design. One way to develop such solutions, a.k.a., Service-Based systems (SBSs) is to generate BPEL (Business Proce...
Article
Context The order in which requirements are implemented affects the delivery of value to the end-user, but it also depends on technical constraints and resource availability. The outcome of requirements prioritization is a total ordering of requirements that best accommodates the various kinds of constraints and priorities. During requirements prio...
Conference Paper
Full-text available
Like any other large and complex systems, user requirements may change for Service Based Systems (SBSs), as well as their execution contexts, in the form of evolution and maintenance. Consequently, these changes may cause degradation of design, and Quality of Service (QoS), resulting to the bad practiced solutions, commonly known as Antipatterns. T...
Conference Paper
Full-text available
Like any other complex software system, Service Based Sys- tems (SBSs) must evolve to fit new user requirements and execution contexts. The changes resulting from the evolution of SBSs may degrade their design and quality of service (QoS) and may often cause the ap- pearance of common poor solutions, called Antipatterns. Antipatterns resulting from...
Conference Paper
Full-text available
During their evolution, Service Based Systems (SBSs) need to fit new user requirements and execution contexts. The resulting changes from the evolution of SBSs may degrade their design and Quality of Service (QoS), and thus may cause the appearance of common poor solutions, called Antipatterns. Like other complex systems, antipatterns in SBSs may h...
Conference Paper
Full-text available
Software maintenance can become monotonous and expensive due to ignorance and misapplication of appropriate design patterns during the early phases of design and development. To have a good and reusable system, designers and developers must be aware of large information set and many quality concerns, e.g., design patterns. Systems with correct desi...
Conference Paper
Full-text available
The prioritization of requirements is a crucial activity in the early phases of the software development process. It consists of finding an order relation among requirements, considering several requirements characteristics, such as stakeholder preferences, technical constraints, implementation costs and user perceived value. We propose an interact...
Conference Paper
Full-text available
The order in which requirements are implemented in a system affects the value delivered to the final users in the successive releases of the system. Requirements prioritization aims at ranking the requirements so as to trade off user priorities and implementation constraints, such as technical dependencies among requirements and necessarily limited...

Network

Cited By