Automated API Recommendation

Many libraries have been used in the software project. With the increasing number of libraries used in a software project, developers often have to search multiple online resources to learn the usage of the APIs if the developers have no prior knowledge of certain libraries. This may lead to an incr...

Full description

Saved in:
Bibliographic Details
Main Author: Toh, Gao Han
Other Authors: Liu Yang
Format: Final Year Project
Language:English
Published: 2017
Subjects:
Online Access:http://hdl.handle.net/10356/70279
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
id sg-ntu-dr.10356-70279
record_format dspace
spelling sg-ntu-dr.10356-702792023-03-03T20:28:58Z Automated API Recommendation Toh, Gao Han Liu Yang School of Computer Science and Engineering DRNTU::Engineering::Computer science and engineering Many libraries have been used in the software project. With the increasing number of libraries used in a software project, developers often have to search multiple online resources to learn the usage of the APIs if the developers have no prior knowledge of certain libraries. This may lead to an increase in development time. Therefore, in this project, we developed Automated API Recommendation. Given the latest API detected, we will recommend APIs to the developers. To build the Automated API Recommendation, we had extracted the API sequence of every java source code file in the repository. We learned the usage pattern of the APIs by building the bigram model using the train datasets. Two techniques, MMR and kPrecision, were used to test the model. We were able to obtain an accuracy of 60.17% for kPrecision testing when k = 5 for forward bigram model. The benefit of Automated API Recommendation is that it gives instant recommendation to the users and it supports the usage of third-party java library. As long as the third-party API is in our API knowledge based, we will be able to recommend API. Bachelor of Engineering (Computer Science) 2017-04-18T07:39:31Z 2017-04-18T07:39:31Z 2017 Final Year Project (FYP) http://hdl.handle.net/10356/70279 en Nanyang Technological University 42 p. application/pdf
institution Nanyang Technological University
building NTU Library
continent Asia
country Singapore
Singapore
content_provider NTU Library
collection DR-NTU
language English
topic DRNTU::Engineering::Computer science and engineering
spellingShingle DRNTU::Engineering::Computer science and engineering
Toh, Gao Han
Automated API Recommendation
description Many libraries have been used in the software project. With the increasing number of libraries used in a software project, developers often have to search multiple online resources to learn the usage of the APIs if the developers have no prior knowledge of certain libraries. This may lead to an increase in development time. Therefore, in this project, we developed Automated API Recommendation. Given the latest API detected, we will recommend APIs to the developers. To build the Automated API Recommendation, we had extracted the API sequence of every java source code file in the repository. We learned the usage pattern of the APIs by building the bigram model using the train datasets. Two techniques, MMR and kPrecision, were used to test the model. We were able to obtain an accuracy of 60.17% for kPrecision testing when k = 5 for forward bigram model. The benefit of Automated API Recommendation is that it gives instant recommendation to the users and it supports the usage of third-party java library. As long as the third-party API is in our API knowledge based, we will be able to recommend API.
author2 Liu Yang
author_facet Liu Yang
Toh, Gao Han
format Final Year Project
author Toh, Gao Han
author_sort Toh, Gao Han
title Automated API Recommendation
title_short Automated API Recommendation
title_full Automated API Recommendation
title_fullStr Automated API Recommendation
title_full_unstemmed Automated API Recommendation
title_sort automated api recommendation
publishDate 2017
url http://hdl.handle.net/10356/70279
_version_ 1759853006655848448