Visualising the structure of object-oriented systems

Executing object-oriented programs have a complex structure consisting of numerous objects connected by interobject references. This structure, called the program's object graph, is hard to understand, and this complicates learning, teaching, debugging and maintaining object-oriented programs. While visualisation can be used to display object graphs, the size and complexity of typical object graphs also makes visualisation difficult. We have developed ownership trees as a simple yet powerful method of extracting a program's implicit encapsulation structure from its object graph. We present a program visualisation tool that makes use of ownership trees to display the structure of object-oriented programs. Our prototype implementation suggests that visualisations based on ownership trees can effectively display the structure of fifty to sixty objects in a program simultaneously.

[1]  Margaret M. Burnett Visual object-oriented programming , 1993, OOPSLA '93.

[2]  John T. Stasko,et al.  Visualizing Interactions in Program Executions , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[3]  Brad A. Myers INCENSE: A system for displaying data structures , 1983, SIGGRAPH.

[4]  Doug Kimelman,et al.  Visualizing the behavior of object-oriented systems , 1993, OOPSLA '93.

[5]  James Noble,et al.  Visualizing Implicit Structure in Java Object Graphs , 1999 .

[6]  Steven S. Muchnick,et al.  Advanced Compiler Design and Implementation , 1997 .

[7]  John Maloney,et al.  The Self-4.0 user interface: manifesting a system-wide vision of concreteness, uniformity, and flexibility , 1995, OOPSLA 1995.

[8]  Danny B. Lange,et al.  Interactive visualization of design patterns can help in framework understanding , 1995, OOPSLA.

[9]  Ioannis G. Tollis,et al.  Algorithms for Drawing Graphs: an Annotated Bibliography , 1988, Comput. Geom..

[10]  Grady Booch,et al.  Object-Oriented Analysis and Design with Applications , 1990 .

[11]  Mark N. Wegman,et al.  Execution Patterns in Object-Oriented Visualization , 1998, COOTS.

[12]  Danny B. Lange,et al.  Object-Oriented Program Tracing and Visualization , 1997, Computer.

[13]  James Noble,et al.  The ins and outs of objects , 1998, Proceedings 1998 Australian Software Engineering Conference (Cat. No.98EX233).

[14]  Roy H. Campbell,et al.  Architecture-oriented visualization , 1996, OOPSLA '96.

[15]  Bjørn N. Freeman-Benson,et al.  Visualizing dynamic software system information through high-level models , 1998, OOPSLA '98.

[16]  Gary Sevitsky,et al.  Visualizing reference patterns for solving memory leaks in Java , 1999, Concurr. Pract. Exp..

[17]  Jan Vitek,et al.  Flexible Alias Protection , 1998, ECOOP.

[18]  Jean-Marc Nerson,et al.  Object-Oriented Analysis and Design , 1992, TOOLS.

[19]  Steven P. Reiss The Field Programming Environment: A Friendly Integrated Environment for Learning and Development , 1994 .

[20]  Richard C. Holt,et al.  The Geneva convention on the treatment of object aliasing , 1992, OOPS.