Live API documentation
Proceedings of the 36th international conference on software engineering, 2014•dl.acm.org
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 …
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 …
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.
ACM Digital Library