WebAPIRec: Recommending web APIs to software projects via personalized ranking

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

Full description

Saved in:
Bibliographic Details
Main Authors: THUNG, Ferdian, OENTARYO, Richard J., LO, David, TIAN, Yuan
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2017
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/3912
https://ink.library.smu.edu.sg/context/sis_research/article/4914/viewcontent/07935481__1_.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-4914
record_format dspace
spelling sg-smu-ink.sis_research-49142020-04-01T02:34:34Z WebAPIRec: Recommending web APIs to software projects via personalized ranking THUNG, Ferdian OENTARYO, Richard J. LO, David TIAN, Yuan 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. 2017-06-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/3912 info:doi/10.1109/TETCI.2017.2699222 https://ink.library.smu.edu.sg/context/sis_research/article/4914/viewcontent/07935481__1_.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Personalized ranking recommendation system Web API Computer and Systems Architecture Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Personalized ranking
recommendation system
Web API
Computer and Systems Architecture
Software Engineering
spellingShingle Personalized ranking
recommendation system
Web API
Computer and Systems Architecture
Software Engineering
THUNG, Ferdian
OENTARYO, Richard J.
LO, David
TIAN, Yuan
WebAPIRec: Recommending web APIs to software projects via personalized ranking
description 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.
format text
author THUNG, Ferdian
OENTARYO, Richard J.
LO, David
TIAN, Yuan
author_facet THUNG, Ferdian
OENTARYO, Richard J.
LO, David
TIAN, Yuan
author_sort THUNG, Ferdian
title WebAPIRec: Recommending web APIs to software projects via personalized ranking
title_short WebAPIRec: Recommending web APIs to software projects via personalized ranking
title_full WebAPIRec: Recommending web APIs to software projects via personalized ranking
title_fullStr WebAPIRec: Recommending web APIs to software projects via personalized ranking
title_full_unstemmed WebAPIRec: Recommending web APIs to software projects via personalized ranking
title_sort webapirec: recommending web apis to software projects via personalized ranking
publisher Institutional Knowledge at Singapore Management University
publishDate 2017
url https://ink.library.smu.edu.sg/sis_research/3912
https://ink.library.smu.edu.sg/context/sis_research/article/4914/viewcontent/07935481__1_.pdf
_version_ 1770573934204289024