Publication Type
Journal Article
Version
publishedVersion
Publication Date
6-2017
Abstract
Application programming interfaces (APIs) offer a plethora of functionalities for developers to reuse without reinventing the wheel. Identifying the appropriate APIs given a project requirement is critical for the success of a project, as many functionalities can be reused to achieve faster development. However, the massive number of APIs would often hinder the developers' ability to quickly find the right APIs. In this light, we propose a new, automated approach called WebAPIRec that takes as input a project profile and outputs a ranked list of web APIs that can be used to implement the project. At its heart, WebAPIRec employs a personalized ranking model that ranks web APIs specific (personalized) to a project. Based on the historical data of web API usages, WebAPIRec learns a model that minimizes the incorrect ordering of web APIs, i.e., when a used web API is ranked lower than an unused (or a not-yet-used) web API. We have evaluated our approach on a dataset comprising 9883 web APIs and 4315 web application projects from ProgrammableWeb with promising results. For 84.0% of the projects, WebAPIRec is able to successfully return correct APIs that are used to implement the projects in the top-five positions. This is substantially better than the recommendations provided by ProgrammableWeb's native search functionality. WebAPIRec also outperforms McMillan et al.'s application search engine and popularity-based recommendation.
Keywords
Personalized ranking, recommendation system, Web API
Discipline
Computer and Systems Architecture | Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
IEEE Transactions on Emerging Topics in Computational Intelligence
Volume
1
Issue
3
First Page
145
Last Page
156
ISSN
2471-285X
Identifier
10.1109/TETCI.2017.2699222
Publisher
IEEE
Citation
THUNG, Ferdian; OENTARYO, Richard J.; LO, David; and TIAN, Yuan.
WebAPIRec: Recommending web APIs to software projects via personalized ranking. (2017). IEEE Transactions on Emerging Topics in Computational Intelligence. 1, (3), 145-156.
Available at: https://ink.library.smu.edu.sg/sis_research/3912
Copyright Owner and License
Authors
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1109/TETCI.2017.2699222