Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Francis Palma is active.

Publication


Featured researches published by Francis Palma.


Proceedings of the Third International Workshop on Recommendation Systems for Software Engineering | 2012

Recommendation system for design patterns in software development: an DPR overview

Francis Palma; Hadi Farzin; Yann-Gaël Guéhéneuc; Naouel Moha

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 design pattern may ensure easy maintenance and evolution. However, without assistance, designing and development of software systems following certain design patterns is difficult for engineers. Recommendation systems for software engineering can assist designers and developers with a wide range of activities including suggesting design patterns. With the help of pattern recommenders, designers can come up with a reusable design. We provide a Design Pattern Recommender (DPR) process overview for software design to suggest design patterns, based on a simple Goal-Question-Metric (GQM) approach. Our prototype provides two-fold solution. In the primary-level, DPR only proposes one or more design patterns for a problem context, and in the secondary level, for a initial set of design, DPR refactors models and suggests design patterns. Our preliminary evaluation shows that DPR has a good trade-off between accuracy and procedural complexity, comparing to other state-of-the-art approaches.


international conference on service oriented computing | 2012

Specification and detection of SOA antipatterns

Naouel Moha; Francis Palma; Mathieu Nayrolles; Benjamin Joyen Conseil; Yann-Gaël Guéhéneuc; Benoit Baudry; Jean-Marc Jézéquel

Service-oriented architecture (SOA) provides a collection of principles and methodologies for designing and developing service-based systems (SBSs). SBSs are composed of loosely-coupled, platform independent, and reusable functional units, i.e., services. Alternative technologies to implement SBSs are REST-style (Representational State Transfer), Service Component Architecture (SCA), SOAP-based Web service, and so on. However, SBSs cannot overcome some common software engineering challenges, e.g., evolution, to fit new user requirements or changes in execution contexts. All these changes may degrade the quality of design and quality of service of SBSs and may cause the presence of common bad practiced solutions -- antipatterns.


international conference on software maintenance | 2014

Specification and Detection of SOA Antipatterns

Francis Palma

Service-oriented architecture (SOA) provides a collection of principles and methodologies for designing and developing service-based systems (SBSs). SBSs are composed of loosely-coupled, platform independent, and reusable functional units, i.e., services. Alternative technologies to implement SBSs are REST-style (Representational State Transfer), Service Component Architecture (SCA), SOAP-based Web service, and so on. However, SBSs cannot overcome some common software engineering challenges, e.g., evolution, to fit new user requirements or changes in execution contexts. All these changes may degrade the quality of design and quality of service of SBSs and may cause the presence of common bad practiced solutions -- antipatterns.


international conference on service oriented computing | 2015

Are RESTful APIs Well-Designed? Detection of their Linguistic (Anti)Patterns

Francis Palma; Javier Gonzalez-Huerta; Naouel Moha; Yann-Gaël Guéhéneuc; Guy Tremblay

Identifier lexicon has 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. REST (REpresentational State Transfer) style is becoming a de facto standard adopted by many software organisations. The use of proper lexicon in RESTful APIs might make them easier to understand and reuse by client developers, and thus, would ease their adoption. Linguistic antipatterns represent poor practices in the naming, documentation, and choice of identifiers in the APIs as opposed to linguistic patterns that represent best practices. We present the DOLAR approach (Detection Of Linguistic Antipatterns in REST), which applies syntactic and semantic analyses for the detection of linguistic (anti)patterns in RESTful APIs. We provide detailed definitions of ten (anti)patterns and define and apply their detection algorithms on 15 widely-used RESTful APIs, including Facebook, Twitter, and YouTube. The results show that DOLAR can indeed detect linguistic (anti)patterns with high accuracy and that they do occur in major RESTful APIs.


international conference on service oriented computing | 2014

Detection of REST Patterns and Antipatterns: A Heuristics-Based Approach

Francis Palma; Johann Dubois; Naouel Moha; Yann-Gaël Guéhéneuc

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, on the other hand, are poor and counter-productive solutions. Therefore, the detection of REST (anti)patterns is essential for improving the maintenance and evolution of RESTful systems. Until now, however, no approach has been proposed. In this paper, we propose SODA-R (Service Oriented Detection for Antipatterns in REST), a heuristics-based approach to detect (anti)patterns in RESTful systems. We define detection heuristics for eight REST antipatterns and five patterns, and perform their detection on a set of 12 widely-used REST APIs including BestBuy, Facebook, and DropBox. The results show that SODA-R can perform the detection of REST (anti)patterns with high accuracy. We also found that Twitter and DropBox are not well-designed, i.e., contain more antipatterns. In contrast, Facebook and BestBuy are well-designed, i.e., contain more patterns and less antipatterns.


european conference on software architecture | 2014

Specification and Detection of SOA Antipatterns in Web Services

Francis Palma; Naouel Moha; Guy Tremblay; Yann-Gaël Guéhéneuc

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 (2) difficult maintenance and evolution. Thus, the automatic detection of antipatterns in WSs, which aims at evaluating their design and QoS requires attention. We propose SODA-W (Service Oriented Detection for Antipatterns in Web services), an approach supported by a framework for specifying and detecting antipatterns in WSs. Using SODA-W, we specify ten antipatterns, including God Object Web Service and Fine Grained Web Service, and perform their detection in two different corpora: (1) 13 weather-related and (2) 109 financial-related WSs. SODA-W can specify and detect antipatterns in WSs with an average precision of more than 75% and a recall of 100%.


International Journal of Cooperative Information Systems | 2013

SOA Antipatterns: an Approach for their Specification and Detection

Francis Palma; Mathieu Nayrolles; Naouel Moha; Yann-Gaël Guéhéneuc; Benoit Baudry; Jean-Marc Jézéquel

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, in opposition to design patterns, which are good solutions to recurring problems. Antipatterns resulting from these changes may hinder the future maintenance and evolution of SBSs. The detection of antipatterns is thus crucial to assess the design and QoS of SBSs and facilitate their maintenance and evolution. However, methods and techniques for the detection of antipatterns in SBSs are still in their infancy despite their importance. In this paper, we introduce a novel and innovative approach supported by a framework for specifying and detecting antipatterns in SBSs. Using our approach, we specify 10 well-known and common antipatterns, including Multi Service and Tiny Service, and automatically generate their detection algorithms. We apply and validate the detection algorithms in terms of precision and recall two systems developed independently, (1) Home-Automation, an SBS with 13 services, and (2) FraSCAti, an open-source implementation of the Service Component Architecture (SCA) standard with more than 100 services. This validation demonstrates that our approach enables the specification and detection of Service Oriented Architecture (SOA) antipatterns with an average precision of 90% and recall of 97.5%.


International Journal of Cooperative Information Systems | 2017

Semantic Analysis of RESTful APIs for the Detection of Linguistic Patterns and Antipatterns

Francis Palma; Javier Gonzalez-Huerta; Mohamed Founi; Naouel Moha; Guy Tremblay; Yann-Gaël Guéhéneuc

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 importan...


International Conference on E-Technologies | 2015

Specification and Detection of Business Process Antipatterns

Francis Palma; Naouel Moha; Yann-Gaël Guéhéneuc

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 solutions that may degrade processes design quality and hinder their maintenance and evolution. However, to date, few solutions exist to detect such antipatterns to facilitate the maintenance and evolution and improve the quality of process design. We propose SODA-BP (Service Oriented Detection for Antipatterns in Business Processes), supported by a framework for specifying and detecting process antipatterns. To validate SODA-BP, we specify eight antipatterns and perform their detection on a set of randomly selected 35 SBPs form a corpus of more than 150 collected processes from an open-source search engine. Some of the SBPs were modified by adding, removing, or modifying process elements to introduce noise in them. Results shows that SODA-BP has an average detection precision of more than 75% and recall of 100%.


international conference on service oriented computing | 2012

Detection of SOA Antipatterns

Francis Palma

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. Therefore, detecting SOA (Service Oriented Architecture) antipatterns deserves an extra importance for assessing the design and QoS of SBSs. Also, this detection may facilitate the future evolution and maintenance. Despite of its importance, there are no methods and techniques for detecting SOA antipatterns within SBSs. The subject of my PhD thesis is to propose a novel and innovative approach, supported by a framework for specifying and detecting SOA antipatterns. My contributions are: (1) an approach for SOA antipatterns detection, (2) a framework supporting analysis and detection for SOA antipatterns in SBSs, and finally (3) a concrete empirical evidence to show the effectiveness of the proposed approach and framework.

Collaboration


Dive into the Francis Palma's collaboration.

Top Co-Authors

Avatar

Naouel Moha

Université du Québec à Montréal

View shared research outputs
Top Co-Authors

Avatar

Yann-Gaël Guéhéneuc

École Polytechnique de Montréal

View shared research outputs
Top Co-Authors

Avatar

Guy Tremblay

Université du Québec à Montréal

View shared research outputs
Top Co-Authors

Avatar

Mathieu Nayrolles

Université du Québec à Montréal

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Javier Gonzalez-Huerta

Polytechnic University of Valencia

View shared research outputs
Top Co-Authors

Avatar

Benoit Baudry

Royal Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Benjamin Joyen Conseil

Université du Québec à Montréal

View shared research outputs
Top Co-Authors

Avatar

Foutse Khomh

École Polytechnique de Montréal

View shared research outputs
Top Co-Authors

Avatar

Hadi Farzin

École Polytechnique de Montréal

View shared research outputs
Researchain Logo
Decentralizing Knowledge