Publication Type

Conference Proceeding Article

Version

publishedVersion

Publication Date

11-2017

Abstract

As the carrier of Application Programming Interfaces (APIs) knowledge, API documentation plays a crucial role in how developers learn and use an API. It is also a valuable information resource for answering API-related questions, especially when developers cannot find reliable answers to their questions online/offline. However, finding answers to API-related questions from API documentation might not be easy because one may have to manually go through multiple pages before reaching the relevant page, and then read and understand the information inside the relevant page to figure out the answers. To deal with this challenge, we develop APIBot, a bot that can answer API questions given API documentation as an input. APIBot is built on top of SiriusQA, the QA system from Sirius, a state of the art intelligent personal assistant. To make SiriusQA work well under software engineering scenario, we make several modifications over SiriusQA by injecting domain specific knowledge. We evaluate APIBot on 92 API questions, answers of which are known to be present in Java 8 documentation. Our experiment shows that APIBot can achieve a Hit@5 score of 0.706.

Keywords

Documentation, Knowledge discovery, Natural languages, Probabilistic logic, Training, Software engineering, Software

Discipline

Software Engineering

Research Areas

Software and Cyber-Physical Systems

Publication

ASE 2017: Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering, Urbana-Champaign, IL, October 30 - November 3

First Page

153

Last Page

158

ISBN

9781538626849

Identifier

10.1109/ASE.2017.8115628

Publisher

IEEE

City or Country

Piscataway, NJ

Copyright Owner and License

Authors

Additional URL

https://doi.org/10.1109/ASE.2017.8115628

Share

COinS