Publication Type:

Journal Article


Software - Practice and Experience, John Wiley and Sons Ltd (2016)



Compaction, Computer software, Experimental results, Graphic methods, Java program, Java programming language, Markup languages, Multithreaded, Open Source Software, Open systems, Out-of-model calls, Pattern matching, Regular expressions, Sequence diagrams, Tandem repeats, Visualization


<p>The context of this work is a practical, open-source visualization system, called JIVE, that supports two forms of runtime visualizations of Java programs - object diagrams and sequence diagrams. They capture, respectively, the current execution state and execution history of a Java program. These diagrams are similar to those found in the UML for specifying design-time decisions. In our work, we construct these diagrams at execution time, thereby ensuring continuity of notation from design to execution. In so doing, a few extensions to the UML notation are proposed in order to better represent runtime behavior. As sequence diagrams can become long and unwieldy, we present techniques for their compact representation. A key result in this paper is a novel labeling scheme based upon regular expressions to compactly represent long sequences and an O(r2) algorithm for computing these labels, where r is the length of the input sequence, based upon the concept of 'tandem repeats' in a sequence. Horizontal compaction greatly helps minimize the extent of white space in sequence diagrams by the elimination of object lifelines and also by grouping lifelines together. We propose a novel extension to the sequence diagram to deal with out-of-model calls when the lifelines of certain classes of objects are filtered out of the visualization, but method calls may occur between in-model and out-of-model calls. The paper also presents compaction techniques for multi-threaded Java execution with different forms of synchronization. Finally, we present experimental results from compacting the runtime visualizations of a variety of Java programs and execution trace sizes in order to demonstrate the practicality and efficacy of our techniques. © 2016 John Wiley &amp; Sons, Ltd.</p>


cited By 0; Article in Press

Cite this Research Publication

Sab Jayaraman, Jayaraman, Bab, and Lessa, Dab, “Compact visualization of Java program execution”, Software - Practice and Experience, 2016.