{"title":"APIBook: an effective approach for finding APIs","authors":"Haibo Yu, Wen Song, Tsunenori Mine","doi":"10.1145/2993717.2993727","DOIUrl":null,"url":null,"abstract":"Software libraries have become more and more complex in recent years. Developers usually have to rely on search engines to find API documents and then select suitable APIs to do relevant development when working on unfamiliar functions. However, the traditional search engines do not focus on searching APIs that make this process inconvenient and time consuming. Although a lot of efforts have been made on API understanding and code search in industry and academia, work and tools that can recommend API methods to users based on their description of API's functionality are still very limited. In this paper, we propose a search-based recommendation algorithm on API methods. We call the algorithm APIBook and implement an API method recommendation tool based on the proposed algorithm. The algorithm can recommend relevant API methods to users based on user input written in natural language. This algorithm combines semantic relevance, type relevance and the extent of degree that API method is used to sort these API methods and rank those that are highly relevant and widely used in the top positions. Examples of codes in real projects are also provided to help users to learn and to understand the API method recommended. The API recommendation tool selects the Java Standard Library as well as 100 popular open source libraries as API recommending material. Users can input the API description via the Web interface, and view the search results with sample codes on screen. The evaluation experiment is performed and the result shows that APIBook is more effective for finding APIs than traditional search models and it takes on average 0.7 seconds for finding relevant API methods which we think to be reasonable for satisfying daily query requirements.","PeriodicalId":20631,"journal":{"name":"Proceedings of the 8th Asia-Pacific Symposium on Internetware","volume":"12 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2016-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"17","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 8th Asia-Pacific Symposium on Internetware","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2993717.2993727","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 17
Abstract
Software libraries have become more and more complex in recent years. Developers usually have to rely on search engines to find API documents and then select suitable APIs to do relevant development when working on unfamiliar functions. However, the traditional search engines do not focus on searching APIs that make this process inconvenient and time consuming. Although a lot of efforts have been made on API understanding and code search in industry and academia, work and tools that can recommend API methods to users based on their description of API's functionality are still very limited. In this paper, we propose a search-based recommendation algorithm on API methods. We call the algorithm APIBook and implement an API method recommendation tool based on the proposed algorithm. The algorithm can recommend relevant API methods to users based on user input written in natural language. This algorithm combines semantic relevance, type relevance and the extent of degree that API method is used to sort these API methods and rank those that are highly relevant and widely used in the top positions. Examples of codes in real projects are also provided to help users to learn and to understand the API method recommended. The API recommendation tool selects the Java Standard Library as well as 100 popular open source libraries as API recommending material. Users can input the API description via the Web interface, and view the search results with sample codes on screen. The evaluation experiment is performed and the result shows that APIBook is more effective for finding APIs than traditional search models and it takes on average 0.7 seconds for finding relevant API methods which we think to be reasonable for satisfying daily query requirements.