The Eclipse Runtime Perspective for Object-Oriented Code Exploration and Program Comprehension
Today’s Integrated Development Environments (IDEs) emphasize a class-oriented view of object-oriented systems at design-time. Broadly speaking, popular IDEs such as Eclipse present to developers a hierarchy of classes, the Outline View, where classes are organized by packages.
To understand the objects in a system, developers have to either mentally visualize them, or run the system and use a debugger, then wade through a heap of concrete objects and examine specific instances. There are often too many specific instances. For many program comprehension tasks, specific instances may not matter. Instead, it may be useful to present to developers abstract objects that abstract away related instances.
We propose a novel Eclipse Perspective, the Runtime Perspective, that makes a global hierarchy of abstract objects a first-class view of an object-oriented system at design-time. The perspective mines this information into many small views that complement the existing views in the Java Development perspective: an Abstract Object Tree with a search feature to complement the Package Explorer, an Abstract Stack to complement the Call Hierarchy, and a Partial Object Graph to complement the class diagrams extracted by many existing plugins.