Amir Michail writes, "GUISearch uses the application GUI as a way to cluster its methods/functions in
a way that naturally reflects its key features (e.g., specification). Specifically, the cluster centers are the GUI callbacks --- which represent fundamental entry points into the application code --- while every other method/function is an element of each cluster from which it is called directly/indirectly by the corresponding cluster center.
This clustering of application methods can be used to browse the source code of
unfamiliar applications by proceeding from fundamental callback methods towards
methods deeper down in the implementation. Moreover, the clustering provides a natural way to rank application methods during a search so that more fundamental
methods are shown first. You can find a demo that includes the entire KDE CVS repository
Feedback is welcome."
September 9, 2001