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