Visualizes threads as parallel horizontal timelines. Accesses to objects are visualized as they occur in relative time

Alternatively, the perspective can be shifted to the object level, and accesses to a particular object can be viewed in sequence.

BibTeX Reference

@INPROCEEDINGS{jackson01hcc,
title={Visual debugging of multithreaded Java programs},
author={Jackson, D.},
journal={Human-Centric Computing Languages and Environments, 2001. Proceedings IEEE Symposia on},
year={2001},
month={},
volume={},
number={},
pages={340-341},
abstract={Debugging of parallel programs is essentially a twofold task, since it involves debugging both the internal logic of the processes and the interactions between those processes. For the most part, the former can be tackled using conventional sequential debuggers, but the latter are more problematical. It is contended that visualization techniques can be invaluable in this regard, and to this end the concept of a Parallel Execution Graph (PEG) has been devised. For the Java language, which places much of the burden of thread synchronization on the shoulders of the programmer, execution visualization via a PEG can give enormous insight into program behavior, and can highlight hazards such as indeterminacy and deadlock. Among the other advantages to be gained from the use of PEGs are fine control over what information to include in a graph, and the ability to focus on relevant events via a viewpoint switching mechanism},
keywords={Java, multi-threading, object-oriented programming, parallel programming, program debugging, program visualisationPEG, Parallel Execution Graph, deadlock, indeterminacy, multithreaded Java programs, parallel program debugging, thread synchronization, viewpoint switching, visual debugging, visualization techniques},
doi={10.1109/HCC.2001.995286},
ISSN={}, }