Live API Documentation
Siddharth Subramanian, Laura Inozemtseva and Reid Holmes
University of Waterloo Technical Report CS-2013-17
This report is superseded by this paper.
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
BibTeX
@techreport{SIH13, author={Siddharth, Subramanian and Inozemtseva, Laura and Holmes, Reid}, title={Live API Documentation}, institution={University of Waterloo}, year={2013}, }