Regular Article
Scalable Visualizations of Object-Oriented Systems with Ownership Trees

https://doi.org/10.1006/jvlc.2002.0238Get rights and content

Abstract

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 visualization can be used to display object graphs, the size and complexity of typical object graphs also makes visualization 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 have developed a program visualization tool that makes use of ownership trees to display the structure of object-oriented programs. Because ownership trees are independent of scale—the relationship between a whole object-oriented system and its top-level components is the same as the relationship between a low-level data structure and the objects that implement it—our software visualization is applicable at all levels of abstraction within a program's design.

References (35)

  • B. Price et al.

    A principled taxonomy of software visualisation

    Journal of Visual Languages and Computing

    (1993)
  • A. Taivalsaari

    Classes vs. prototypes: some philosophical and historical observations

  • E. Gamma et al.

    Design Patterns

    (1995)
  • G. Booch

    Object-Oriented Analysis and Design With Applications

    (1994)
  • M. Burnett et al.

    Visual Object-Oriented Programming

    (1995)
  • J. Potter et al.

    The ins and outs of objects

    (1998)
  • T. Hill, J. Noble, J. Potter, 1999, Visualising implicit structure in Java object Graphs, Proceedings of SoftVis,...
  • C. Laffra

    Advanced Java

    (1997)
  • T. Hill et al.

    Visualising the structure of object-oriented systems

    (2000)
  • T. Hill et al.

    Scalable visualisations with ownership trees

    (2000)
  • J. Noble

    Visualising objects: abstraction, encapsulation, aliasing and ownership

  • D. Santibanez, 1998, Visualisation of ownership trees in evolving object graphs, Macquarie University, Sydney,...
  • S. Alstrup, P. Lauridsen, 1996, A simple dynamic algorithm for maintaining a dominator tree, Department of Computer...
  • S. Muchnick

    Advanced Compiler Design and Implementation

    (1997)
  • J. Noble et al.

    Flexible alias protection

  • J. Hogg et al.

    The geneva convection on the treatment of object aliasing

    OOPS Messenger

    (1992)
  • G. Di Battista, P. Eades, R. Tassmassia, I. Tollis, 1994, Algorithms for drawing graphs: an annotated bibliography,...
  • Cited by (0)

    View full text