Laura Inozemtseva

Live API Documentation

Siddharth Subramanian, Laura Inozemtseva and Reid Holmes

Presented at ICSE 2014

"Relevant, important way of linking code snippets to the proper API docs" --Reviewer 1

"The paper is well written, full of clear examples, and (refreshingly) at just the right length for its contributions." --Reviewer 2

"The paper seems to be rather short, 9 pages?" --Reviewer 3

Abstract

Application Programming Interfaces (APIs) provide powerful abstraction mechanisms that enable complex functionality to be used by client programs. However, this abstraction does not come for free: understanding how to use an API can be difficult. While API documentation can help, it is often insufficient on its own. Online sites like Stack Overflow and Github Gists have grown to fill the gap between traditional API documentation and more example-based resources. Unfortunately, these two important classes of documentation are independent.

In this paper we describe an iterative, deductive method of linking source code examples to API documentation. We also present an implementation of this method, called Baker, that is highly precise (0.97) and supports both Java and JavaScript. Baker can be used to enhance traditional API documentation with up-to-date source code examples; it can also be used to incorporate links to the API documentation into the code snippets that use the API.

Supplementary Material

PDF of the paper

DOI

Teaser video (download)

BibTeX

@inproceedings{SIH14,
    author={Subramanian, Siddharth and Inozemtseva, Laura and Holmes, Reid},
    title={Live API Documentation},
    booktitle={Proceedings of the International Conference on Software Engineering},
    year={2014},
}