Abstract
Application Programming Interfaces (APIs) in software libraries play an important role in modern software development. Although most libraries provide API documentation as a reference, developers may find it difficult to directly search for appropriate APIs in documentation using the natural language description of the programming tasks. We call such phenomenon as knowledge gap, which refers to the fact that API documentation mainly describes API functionality and structure but lacks other types of information like concepts and purposes. In this paper, we propose a Java API recommendation tool named BIKER (Bi-Information source based KnowledgE Recommendation) to bridge the knowledge gap. We implement BIKER as a search engine website. Given a query in natural language, instead of directly searching API documentation, BIKER first searches for similar API-related questions on Stack Overflow to extract candidate APIs. Then, BIKER ranks them by considering the querys similarity with both Stack Overflow posts and API documentation. Finally, to help developers better understand why each API is recommended and how to use them in practice, BIKER summarizes and presents supplementary information (e.g., API description, code examples in Stack Overflow posts) for each recommended API. Our quantitative evaluation and user study demonstrate that BIKER can help developers find appropriate APIs more efficiently and precisely.
Original language | English |
---|---|
Title of host publication | Proceedings of the 2019 27th ACM Joint Meeting - European Software Engineering Conference and Symposium on the Foundations of Software Engineering |
Editors | Marlon Dumas, Dietmar Pfahl, Sven Apel, Alessandra Russo |
Place of Publication | New York NY USA |
Publisher | Association for Computing Machinery (ACM) |
Pages | 1075-1079 |
Number of pages | 5 |
ISBN (Electronic) | 9781450355728 |
DOIs | |
Publication status | Published - 2019 |
Event | Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering 2019 - Tallinn, Estonia Duration: 26 Aug 2019 → 30 Aug 2019 Conference number: 27th https://esec-fse19.ut.ee/ |
Conference
Conference | Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering 2019 |
---|---|
Abbreviated title | ESEC/FSE 2019 |
Country/Territory | Estonia |
City | Tallinn |
Period | 26/08/19 → 30/08/19 |
Internet address |
Keywords
- API Documentation
- API Recommendation
- Stack Overflow