About Ferret

Ferret is a software exploration tool that provides a automatic structured display of information about the local context of a program element of interest. The local context of an element is the set of relations between the element and the rest of the system. Ferret structures the local context as answers to a set of conceptual queries about that element. Examples of conceptual queries include:

These conceptual queries include and build-on the standard queries supported by Eclipse.

Ferret's underlying model supports integrating different sources of program information, to provide better answers to conceptual queries. For example, dynamic runtime program traces describe the operations actually executed, and can be used to refine the relations expressed by in the static source code. Eclipse's plugin architecture supports decoupling of components by expressing the coupling relations in the plugin.xml manifests; integrating support for these displayed couplings supports relating program elements by other than than just static code relations.