BIKER: a tool for Bi-information source based API method recommendation
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 query’s 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.
BibTeX
@inproceedings{Cai-al:FSE19,
author = {Liang Cai and
Haoye Wang and
Qiao Huang and
Xin Xia and
Zhenchang Xing and
David Lo},
title = {{BIKER:} a tool for Bi-information source based {API} method recommendation},
booktitle = {{ESEC/SIGSOFT} {FSE}},
pages = {1075--1079},
publisher = {{ACM}},
year = {2019},
}