
Francis PalmaLinnaeus University | lnu · Department of Computer Science
Francis Palma
PhD in Computer Engineering
About
27
Publications
11,550
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
554
Citations
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
September 2011 - August 2015
February 2011 - July 2011
Publications
Publications (27)
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...
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...
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...
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...
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...
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’...
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...
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...
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...
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...
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...
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...
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...
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 (...
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...
[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...
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...
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...
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...
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...
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...
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...
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...