I came across an interesting article today from ScienceBlog on a couple of new research tools aimed at helping developers find what they're looking for in APIs. The tools have been constructed as part of the Natural Programming Project at Carnegie Mellon University.
Apatite (which stands for Associative Perusal of APIs That Identifies Targets Easily) is a way of exploring the Java API through association. The idea is to be able to browse the Java API on the strength of classes that commonly go together in programs.
Jadeite (which stands for Java Documentation with Extra Information Tacked-on for Emphasis) works on the assumption that developers expect classes to have certain methods. One example provided is for the File class. It might be expected to have a read() method that could be used to read a file. Jadeite allows its users to fill in these expectations through the creation of "placeholders". A placeholder can be used to point developers in the direction of the class they are looking for.
In the case of both tools their entries link back to the official Sun Java API documentation. If you want to find out more about the thinking behind the two tools have a look at the research papers Apatite: Associative Browsing of APIs and Improving API Documentation Using API Usage Information.