Apatite stands for Associative Perusal of APIs That Identifies Targets Easily. It's designed to help developers find the classes and methods they are looking for in the Java API in a quicker and more efficient way.
2009
Apatite is the product of research performed at the Carnegie Mellon University as part of their Natural Programming Project
Apatite is an online tool usable with a Javascript enabled browser.
The research behind Apatite looks at the difficulty programmers can experience when looking through a complicated API. Sometimes looking for a class or method that performs a specific task can mean a considerable search through the API documentation. Apatite allows developer to browse through the Java API by showing associations between packages, classes and methods based on the frequency they are found together in Java code.
The tool begins by displaying the most popular packages, classes, methods and actions of the API in the first column. When one of them is clicked, a new column appears with a subset of the API that is associated with the user's choice. Searches can be performed to filter the columns to look for particular keywords. Once a user has found what they are looking for, a direct link to the official Java API documentation can be followed for the detailed specifications.
A feature of Apatite's interface is the comparative size of font used for commonly used parts of the API. The larger the font, the more frequently used the package, class or method is considered to be. It's thought that this will highlight the most relevant sections of the Java API to the user.
Initial research has indicated that Apatite performs well when the developer is looking for a class they don't know, for commonly used classes and for a particular class that complements one they have already used.
There is a sister tool called Jadeite that looks at improving API documentation by extending the Javadoc interface.

