API recommendation system for software development

Nowadays, software developers often utilize existing third party libraries and make use of Application Programming Interface (API) to develop a software. However, it is not always obvious which library to use or whether the chosen library will play well with other libraries in the system. Furthermor...

Full description

Saved in:
Bibliographic Details
Main Author: FERDIAN THUNG
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2016
Subjects:
API
Online Access:https://ink.library.smu.edu.sg/sis_research/3620
https://ink.library.smu.edu.sg/context/sis_research/article/4621/viewcontent/APIRecommendationSoftwareDevt_2016_thung.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-4621
record_format dspace
spelling sg-smu-ink.sis_research-46212017-04-10T08:46:48Z API recommendation system for software development FERDIAN THUNG, Nowadays, software developers often utilize existing third party libraries and make use of Application Programming Interface (API) to develop a software. However, it is not always obvious which library to use or whether the chosen library will play well with other libraries in the system. Furthermore, developers need to spend some time to understand the API to the point that they can freely use the API methods and putting the right parameters inside them. In this work, I plan to automatically recommend relevant APIs to developers. This API recommendation can be divided into multiple stages. First, we can recommend relevant libraries provided a given task to complete. Second, we can recommend relevant API methods that developer can use to program the required task. Third, we can recommend correct parameters for a given method according to its context. Last but not least, we can recommend how different API methods can be combined to achieve a given task. In effort to realize this API recommendation system, I have published two related papers. The first one deals with recommending additional relevant API libraries given known useful API libraries for the target program. This system can achieve recall rate@5 of 0.852 and recall rate@10 of 0.894 in recommending additional relevant libraries. The second one deals with recommending relevant API methods a given target API and a textual description of the task. This system can achieve recall-rate@5 of 0.690 and recallrate@10 of 0.779. The results for both system indicate that the systems are useful and capable in recommending the right API/library reasonably well. Currently, I am working on another system which can recommend web APIs (i.e., libraries) given a description of the task. I am also working on a system that recommends correct parameters given an API method. In the future, I also plan to realize API composition recommendation for the given task. 2016-08-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/3620 info:doi/10.1145/2970276.2975940 https://ink.library.smu.edu.sg/context/sis_research/article/4621/viewcontent/APIRecommendationSoftwareDevt_2016_thung.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 API Library Recommendation System Computer Sciences Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic API
Library
Recommendation System
Computer Sciences
Software Engineering
spellingShingle API
Library
Recommendation System
Computer Sciences
Software Engineering
FERDIAN THUNG,
API recommendation system for software development
description Nowadays, software developers often utilize existing third party libraries and make use of Application Programming Interface (API) to develop a software. However, it is not always obvious which library to use or whether the chosen library will play well with other libraries in the system. Furthermore, developers need to spend some time to understand the API to the point that they can freely use the API methods and putting the right parameters inside them. In this work, I plan to automatically recommend relevant APIs to developers. This API recommendation can be divided into multiple stages. First, we can recommend relevant libraries provided a given task to complete. Second, we can recommend relevant API methods that developer can use to program the required task. Third, we can recommend correct parameters for a given method according to its context. Last but not least, we can recommend how different API methods can be combined to achieve a given task. In effort to realize this API recommendation system, I have published two related papers. The first one deals with recommending additional relevant API libraries given known useful API libraries for the target program. This system can achieve recall rate@5 of 0.852 and recall rate@10 of 0.894 in recommending additional relevant libraries. The second one deals with recommending relevant API methods a given target API and a textual description of the task. This system can achieve recall-rate@5 of 0.690 and recallrate@10 of 0.779. The results for both system indicate that the systems are useful and capable in recommending the right API/library reasonably well. Currently, I am working on another system which can recommend web APIs (i.e., libraries) given a description of the task. I am also working on a system that recommends correct parameters given an API method. In the future, I also plan to realize API composition recommendation for the given task.
format text
author FERDIAN THUNG,
author_facet FERDIAN THUNG,
author_sort FERDIAN THUNG,
title API recommendation system for software development
title_short API recommendation system for software development
title_full API recommendation system for software development
title_fullStr API recommendation system for software development
title_full_unstemmed API recommendation system for software development
title_sort api recommendation system for software development
publisher Institutional Knowledge at Singapore Management University
publishDate 2016
url https://ink.library.smu.edu.sg/sis_research/3620
https://ink.library.smu.edu.sg/context/sis_research/article/4621/viewcontent/APIRecommendationSoftwareDevt_2016_thung.pdf
_version_ 1770573348547330048