BIKER

a tool for Bi-information source based API method recommendation

Liang Cai, Haoye Wang, Qiao Huang, Xin Xia, Zhenchang Xing, David Lo

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

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 languageEnglish
Title of host publicationProceedings of the 2019 27th ACM Joint Meeting - European Software Engineering Conference and Symposium on the Foundations of Software Engineering
EditorsMarlon Dumas, Dietmar Pfahl, Sven Apel, Alessandra Russo
Place of PublicationNew York NY USA
PublisherAssociation for Computing Machinery (ACM)
Pages1075-1079
Number of pages5
ISBN (Electronic)9781450355728
DOIs
Publication statusPublished - 2019
EventJoint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering 2019 - Tallinn, Estonia
Duration: 26 Aug 201930 Aug 2019
Conference number: 27th
https://esec-fse19.ut.ee/

Conference

ConferenceJoint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering 2019
Abbreviated titleESEC/FSE 2019
CountryEstonia
CityTallinn
Period26/08/1930/08/19
Internet address

Keywords

  • API Documentation
  • API Recommendation
  • Stack Overflow

Cite this

Cai, L., Wang, H., Huang, Q., Xia, X., Xing, Z., & Lo, D. (2019). BIKER: a tool for Bi-information source based API method recommendation. In M. Dumas, D. Pfahl, S. Apel, & A. Russo (Eds.), Proceedings of the 2019 27th ACM Joint Meeting - European Software Engineering Conference and Symposium on the Foundations of Software Engineering (pp. 1075-1079). New York NY USA: Association for Computing Machinery (ACM). https://doi.org/10.1145/3338906.3341174
Cai, Liang ; Wang, Haoye ; Huang, Qiao ; Xia, Xin ; Xing, Zhenchang ; Lo, David. / BIKER : a tool for Bi-information source based API method recommendation. Proceedings of the 2019 27th ACM Joint Meeting - European Software Engineering Conference and Symposium on the Foundations of Software Engineering. editor / Marlon Dumas ; Dietmar Pfahl ; Sven Apel ; Alessandra Russo. New York NY USA : Association for Computing Machinery (ACM), 2019. pp. 1075-1079
@inproceedings{37ccef14efb44cf6a4bfd5133cd90af9,
title = "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 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.",
keywords = "API Documentation, API Recommendation, Stack Overflow",
author = "Liang Cai and Haoye Wang and Qiao Huang and Xin Xia and Zhenchang Xing and David Lo",
year = "2019",
doi = "10.1145/3338906.3341174",
language = "English",
pages = "1075--1079",
editor = "Marlon Dumas and Dietmar Pfahl and Sven Apel and Alessandra Russo",
booktitle = "Proceedings of the 2019 27th ACM Joint Meeting - European Software Engineering Conference and Symposium on the Foundations of Software Engineering",
publisher = "Association for Computing Machinery (ACM)",
address = "United States of America",

}

Cai, L, Wang, H, Huang, Q, Xia, X, Xing, Z & Lo, D 2019, BIKER: a tool for Bi-information source based API method recommendation. in M Dumas, D Pfahl, S Apel & A Russo (eds), Proceedings of the 2019 27th ACM Joint Meeting - European Software Engineering Conference and Symposium on the Foundations of Software Engineering. Association for Computing Machinery (ACM), New York NY USA, pp. 1075-1079, Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering 2019, Tallinn, Estonia, 26/08/19. https://doi.org/10.1145/3338906.3341174

BIKER : a tool for Bi-information source based API method recommendation. / Cai, Liang; Wang, Haoye; Huang, Qiao; Xia, Xin; Xing, Zhenchang; Lo, David.

Proceedings of the 2019 27th ACM Joint Meeting - European Software Engineering Conference and Symposium on the Foundations of Software Engineering. ed. / Marlon Dumas; Dietmar Pfahl; Sven Apel; Alessandra Russo. New York NY USA : Association for Computing Machinery (ACM), 2019. p. 1075-1079.

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

TY - GEN

T1 - BIKER

T2 - a tool for Bi-information source based API method recommendation

AU - Cai, Liang

AU - Wang, Haoye

AU - Huang, Qiao

AU - Xia, Xin

AU - Xing, Zhenchang

AU - Lo, David

PY - 2019

Y1 - 2019

N2 - 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.

AB - 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.

KW - API Documentation

KW - API Recommendation

KW - Stack Overflow

UR - http://www.scopus.com/inward/record.url?scp=85071906201&partnerID=8YFLogxK

U2 - 10.1145/3338906.3341174

DO - 10.1145/3338906.3341174

M3 - Conference Paper

SP - 1075

EP - 1079

BT - Proceedings of the 2019 27th ACM Joint Meeting - European Software Engineering Conference and Symposium on the Foundations of Software Engineering

A2 - Dumas, Marlon

A2 - Pfahl, Dietmar

A2 - Apel, Sven

A2 - Russo, Alessandra

PB - Association for Computing Machinery (ACM)

CY - New York NY USA

ER -

Cai L, Wang H, Huang Q, Xia X, Xing Z, Lo D. BIKER: a tool for Bi-information source based API method recommendation. In Dumas M, Pfahl D, Apel S, Russo A, editors, Proceedings of the 2019 27th ACM Joint Meeting - European Software Engineering Conference and Symposium on the Foundations of Software Engineering. New York NY USA: Association for Computing Machinery (ACM). 2019. p. 1075-1079 https://doi.org/10.1145/3338906.3341174