Publication Type
Conference Proceeding Article
Version
publishedVersion
Publication Date
8-2016
Abstract
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.
Keywords
API, Library, Recommendation System
Discipline
Computer Sciences | Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
ASE 2016: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering: Singapore, September 3-7, 2016
First Page
896
Last Page
899
ISBN
9781450338455
Identifier
10.1145/2970276.2975940
Publisher
ACM
City or Country
New York
Citation
FERDIAN THUNG.
API recommendation system for software development. (2016). ASE 2016: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering: Singapore, September 3-7, 2016. 896-899.
Available at: https://ink.library.smu.edu.sg/sis_research/3620
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
http://doi.org/10.1145/2970276.2975940