Abstract
Executing object-oriented programs have a complex structure consisting of numerous objects connected by inter-object 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 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 visualizations based on ownership trees can effectively display the structure of fifty to sixty objects in a program simultaneously.