Skip to main navigation Skip to search Skip to main content

Compact visualization of Java program execution

  • Amrita Vishwa Vidyapeetham
  • SUNY Buffalo

Research output: Contribution to journalArticlepeer-review

34 Scopus citations

Abstract

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.

Original languageEnglish
Pages (from-to)163-191
Number of pages29
JournalSoftware - Practice and Experience
Volume47
Issue number2
DOIs
StatePublished - Feb 1 2017

Keywords

  • exclusion filters
  • experimental results
  • horizontal and vertical compaction
  • multi-threaded execution
  • out-of-model calls
  • regular-expression labels
  • sequence diagrams
  • tandem repeats
  • visualization of Java program execution

Fingerprint

Dive into the research topics of 'Compact visualization of Java program execution'. Together they form a unique fingerprint.

Cite this