TY - JOUR
T1 - Web service API recommendation for automated mashup creation using multi-objective evolutionary search
AU - Almarimi, Nuri
AU - Ouni, Ali
AU - Bouktif, Salah
AU - Mkaouer, Mohamed Wiem
AU - Kula, Raula Gaikovina
AU - Saied, Mohamed Aymen
N1 - Funding Information:
This work is partially supported by the Natural Sciences and Engineering Research Council of Canada (NSERC) , the Research Startup (2) 2016 Grant G00002211 funded by UAE University, United Arab Emirates , and the JSPS, Japan KAKENHI Grant Number 18H04094 .
Publisher Copyright:
© 2019
PY - 2019
Y1 - 2019
N2 - Modern software development builds on external Web services reuse as a promising way that allows developers delivering feature-rich software by composing existing Web service Application Programming Interfaces, known as APIs. With the overwhelming number of Web services that are available on the Internet, finding the appropriate Web services for automatic service composition, i.e., mashup creation, has become a time-consuming, difficult, and error-prone task for software designers and developers when done manually. To help developers, a number of approaches and techniques have been proposed to automatically recommend Web services. However, they mostly focus on recommending individual services. Nevertheless, in practice, service APIs are intended to be used together forming a social network between different APIs, thus should be recommended collectively. In this paper, we introduce a novel automated approach, called SerFinder, to recommend service sets for automatic mashup creation. We formulate the service set recommendation as a multi-objective combinatorial problem and use the non-dominated sorting genetic algorithm (NSGA-II) as a search method to extract an optimal set of services to create a given mashup. We aim at guiding the search process towards generating the adequate compromise among three objectives to be optimized (i) maximize services historical co-usage, (ii) maximize services functional matching with the mashup requirements, and (iii) maximize services functional diversity. We perform a large-scale empirical experiment to evaluate SerFinder on a benchmark of real-world mashups and services. The obtained results demonstrate the effectiveness of SerFinder in comparison with recent existing approaches for mashup creation and services recommendation. The statistical analysis results provide an empirical evidence that SerFinder, significantly outperforms four state-of-the-art widely-used multi-objective search-based algorithms as well as random search.
AB - Modern software development builds on external Web services reuse as a promising way that allows developers delivering feature-rich software by composing existing Web service Application Programming Interfaces, known as APIs. With the overwhelming number of Web services that are available on the Internet, finding the appropriate Web services for automatic service composition, i.e., mashup creation, has become a time-consuming, difficult, and error-prone task for software designers and developers when done manually. To help developers, a number of approaches and techniques have been proposed to automatically recommend Web services. However, they mostly focus on recommending individual services. Nevertheless, in practice, service APIs are intended to be used together forming a social network between different APIs, thus should be recommended collectively. In this paper, we introduce a novel automated approach, called SerFinder, to recommend service sets for automatic mashup creation. We formulate the service set recommendation as a multi-objective combinatorial problem and use the non-dominated sorting genetic algorithm (NSGA-II) as a search method to extract an optimal set of services to create a given mashup. We aim at guiding the search process towards generating the adequate compromise among three objectives to be optimized (i) maximize services historical co-usage, (ii) maximize services functional matching with the mashup requirements, and (iii) maximize services functional diversity. We perform a large-scale empirical experiment to evaluate SerFinder on a benchmark of real-world mashups and services. The obtained results demonstrate the effectiveness of SerFinder in comparison with recent existing approaches for mashup creation and services recommendation. The statistical analysis results provide an empirical evidence that SerFinder, significantly outperforms four state-of-the-art widely-used multi-objective search-based algorithms as well as random search.
KW - API recommendation
KW - Search-based software engineering
KW - Service mashup
KW - Web service
UR - http://www.scopus.com/inward/record.url?scp=85073828196&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85073828196&partnerID=8YFLogxK
U2 - 10.1016/j.asoc.2019.105830
DO - 10.1016/j.asoc.2019.105830
M3 - Article
AN - SCOPUS:85073828196
SN - 1568-4946
JO - Applied Soft Computing Journal
JF - Applied Soft Computing Journal
M1 - 105830
ER -