skip to main content
10.1145/1148493.1148512acmconferencesArticle/Chapter ViewAbstractPublication PagessoftvisConference Proceedingsconference-collections
Article

Visualizing program execution using user abstractions

Published: 04 September 2006 Publication History

Abstract

A practical system that uses visualization for understanding the execution of complex programs must offer the user views of the execution that are specific to the program being understood and the particular problem at hand without significantly slowing down or perturbing the system being examined. This paper describes a visualization data model and its implementation that accomplishes this. The model starts with program events that can be instrumented efficiently and with little overhead. It uses extended finite state automata to model program behaviors in terms of events. It builds time-varying data structures based on these automata. The data structures are then made available to various visualizations through a set of mappings that let the user dynamically control the visualization. The model and its implementation have been demonstrated on a range of specific understanding problems with a variety of different visualizations.

References

[1]
David B. Baskerville, "Graphic presentation of data structures in the DBX debugger," UC Berekley UCB/CSD 86/260 (1985).
[2]
John Bazik, Roberto Tamassia, Steven P. Reiss, and Andries van Dam, "Software visualization in teaching at Brown University," pp. 383--398 in Software Visualization: Programming as a Multimedia Experience, ed. John Stasko, John Domingue, Marc H. Brown, and Blaine A. Price, MIT Press (1998).
[3]
Marc H. Brown and Steven P. Reiss, "Debugging in the BALSA-PECAN integrated environment," ACM SIGPLAN-SIGSOFT Symposium on Debugging (1983).
[4]
Marc H. Brown and Robert Sedgewick, "A system for algorithm animation," Computer Graphics Vol. 18(3) pp. 177--186 (July 1984).
[5]
Marc H. Brown and Robert Sedgewick, "Interesting Events," pp. 155--172 in Software Visualization: Programming as a Multimedia Experience, ed. John Stasko, John Domingue, Marc H. Brown, and Blaine A. Price, MIT Press (1998).
[6]
Kenneth W. Church and Jonathan I. Helfman, "Dotplot: a program for exploring self-similarity in millions of lines for text and code," Journal of Computational and Graphical Statistics Vol. 2 pp. 153--174 (1993).
[7]
Mikhali Dmitriev, "Design of JFluid: A profiling technology and tool based on dynamic bytecode instrumentation," Sun Microsystems Report TR_2003--125, (November 2003).
[8]
Stephen G. Eick, Joseph L. Steffen, and Eric E. Sumner, Jr., "Seesoft - a tool for visualizing software," AT&T Bell Laboratories (1991).
[9]
Paul Gestwicki and Bharat Jayaraman, "Methodology and Architecture of JIVE," SoftVis 2005, pp. 95--104 (May 2005).
[10]
Dean Jerding, John T. Stasko, and Thomas Ball, "Visualizing interactions in program executions," Proc 19th Intl. Conf. on Software Engineering, pp. 360--370 (May 1997).
[11]
Dean F. Jerding, "Visualizing patterns in the execution of object-oriented programs," pp. 47--48 in Proceedings of ACM CHI 96 Conference on Human Factors in Computing Systems, (1996).
[12]
G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. Griswold, "An Overview of AspectJ," in European Conference on Object-Oriented Programming, (2001).
[13]
Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, and John Irwin, "Aspect-Oriented Programming," in European Conference on Object-Oriented Programming, (jun 1997).
[14]
Doug Kimelman, Bryan Rosenburg, and Tova Roth, "Visualization of dynamics in real world software systems," pp. 293--314 in Software Visualization: Programming as a Multimedia Experience, ed. John Stasko, John Domingue, Marc H. Brown, and Blaine A. Price, MIT Press (1998).
[15]
Eileen Kraemer, "Visualizing concurrent programs," pp. 237--256 in Software Visualization: Programming as a Multimedia Experience, ed. John Stasko, John Domingue, Marc H. Brown, and Blaine A. Price, MIT Press (1998).
[16]
Chris Laffra, Doug Lorch, Dave Streeter, Frank Tip, and John Field, "What is Jikes Bytecode Toolkit," http://www.alphaworks.ibm.com/tech/jikesbt, (March 2000).
[17]
Henry Lieberman and Christopher Fry, "Bridging the gap between code and behavior in programming," CHI'95, pp. 480--486 (April 1995).
[18]
Sun Microsystems, "JVM Tool Interface," http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html, (2004).
[19]
Brad A. Myers, "Displaying data structures for interactive debugging," Xerox csl-80-7 (June 1980).
[20]
Wim De Pauw, Doug Kimelman, and John Vlissides, "Visualizing object- oriented software execution," pp. 329--346 in Software Visualization: Programming as a Multimedia Experience, ed. John Stasko, John Domingue, Marc H. Brown, and Blaine A. Price, MIT Press (1998).
[21]
Wim De Pauw and Gary Sevitsky, "Visualizing reference patterns for solving memory leaks in Java," in Proceedings of the ECOOP'99 European Conference on Object-oriented Programming, (1999).
[22]
Wim De Pauw, Nick Mitchell, Martin Robillard, Gary Sevitsky, and Harini Srinivasan, "Drive-by analysis of running programs," Proc. ICSE Workshop of Software Visualization, (May 2001).
[23]
Steven P. Reiss, "PECAN: program development systems that support multiple views," IEEE Trans. Soft. Eng. Vol. SE-11 pp. 276--284 (March 1985).
[24]
Steven P. Reiss, Eric J. Golin, and Robert V. Rubin, "Prototyping visual languages with the GARDEN system," Proc. IEEE Symp. on Visual Languages, (June 1986).
[25]
Steven P. Reiss and Joseph N. Pato, "Displaying program and data structures," Proc. 20th Hawaii Intl. Conf. System Sciences, (January 1987).
[26]
Steven P. Reiss, "Working in the Garden environment for conceptual programming," IEEE Software Vol. 4(6) pp. 16--27 (November 1987).
[27]
Steven P. Reiss, "Interacting with the FIELD environment," Software Practice and Experience Vol. 20(S1) pp. 89--115 (June 1990).
[28]
Steven P. Reiss, "Connecting tools using message passing in the FIELD environment," IEEE Software Vol. 7(4) pp. 57--67 (July 1990).
[29]
Steven P. Reiss, FIELD: A Friendly Integrated Environment for Learning and Development, Kluwer (1994).
[30]
Steven P. Reiss, "An engine for the 3D visualization of program information," Journal of Visual Languages, (December, 1995).
[31]
Steven P. Reiss and Manos Renieris, "Encoding program executions," Proc ICSE 2001, (May 2001).
[32]
Steven P. Reiss, "Bee/Hive: a software visualization backend," IEEE Workshop on Software Visualization, (May 2001).
[33]
Steven P. Reiss, "An overview of BLOOM," PASTE '01, (June 2001).
[34]
Steven P. Reiss, "A visual query language for software visualization," IEEE 2002 Symposium on Human Centric Computing Languages and Environments, pp. 80--82 (September 2002).
[35]
Steven P. Reiss, "JIVE: visualizing Java in action," Proc. ICSE 2003, pp. 820--821 (May 2003).
[36]
Steven P. Reiss and Manos Renieris, "JOVE: Java as it happens," Proc. SoftVis '05, pp. 115--124 (May 2005).
[37]
Steven P. Reiss, "Efficient monitoring and display of thread state in Java," IWPC 2005, pp. 247--256 (May 2005).
[38]
Steven P. Reiss, "Dynamic detection and visualization of software phases," Proc. Third International Workshop on Dynamic Analysis, (May 2005).
[39]
Steven P. Reiss, "Checking event-based specificationsin Java systems," Proc. SoftMC 2005, (July 2005).
[40]
John T. Stasko, "TANGO: a framework and system for algorithm animation," IEEE Computer Vol. 23(9) pp. 27--39 (September 1990).
[41]
Qin Wang, Wei Wang, Rhodes Brown, Karel Driesen, Bruno Dufour, Laurie Hendren, and Clark Verbrugge, "EVolve: an open extensible software visualization framework," Proc of SoftVis 2003, (June 2003).
[42]
Wei Wang, "EVolve: An extensible software visualization framework," McGill University School of Computer Science, (2004).

Cited By

View all
  • (2023)ParallelC-Assist: Productivity Accelerator Suite Based on Dynamic InstrumentationIEEE Access10.1109/ACCESS.2023.329352511(73599-73612)Online publication date: 2023
  • (2022)EVSec: An Approach to Extract and Visualize Security Scenarios from System LogsProceedings of the 26th International Conference on Evaluation and Assessment in Software Engineering10.1145/3530019.3531338(446-452)Online publication date: 13-Jun-2022
  • (2020)Automatic retrieval and analysis of high availability scenarios from system execution tracesJournal of Systems and Software10.1016/j.jss.2019.110490161:COnline publication date: 1-Mar-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SoftVis '06: Proceedings of the 2006 ACM symposium on Software visualization
September 2006
199 pages
ISBN:1595934642
DOI:10.1145/1148493
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 04 September 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. dynamic software visualization
  2. instrumentation
  3. run-time monitoring

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 20 of 65 submissions, 31%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)9
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)ParallelC-Assist: Productivity Accelerator Suite Based on Dynamic InstrumentationIEEE Access10.1109/ACCESS.2023.329352511(73599-73612)Online publication date: 2023
  • (2022)EVSec: An Approach to Extract and Visualize Security Scenarios from System LogsProceedings of the 26th International Conference on Evaluation and Assessment in Software Engineering10.1145/3530019.3531338(446-452)Online publication date: 13-Jun-2022
  • (2020)Automatic retrieval and analysis of high availability scenarios from system execution tracesJournal of Systems and Software10.1016/j.jss.2019.110490161:COnline publication date: 1-Mar-2020
  • (2019)VISON: An Ontology-Based Approach for Software Visualization Tool Discoverability2019 Working Conference on Software Visualization (VISSOFT)10.1109/VISSOFT.2019.00014(45-55)Online publication date: Sep-2019
  • (2019)SMARTKT: A Search Framework to Assist Program Comprehension using Smart Knowledge Transfer2019 IEEE 19th International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS.2019.00026(97-108)Online publication date: Jul-2019
  • (2018)Debugging data flows in reactive programsProceedings of the 40th International Conference on Software Engineering10.1145/3180155.3180156(752-763)Online publication date: 27-May-2018
  • (2017)Layered Layouts for Software Systems Visualization Using Nested Petri NetsTools and Methods of Program Analysis10.1007/978-3-319-71734-0_11(127-138)Online publication date: 30-Dec-2017
  • (2014)Toward a UCM-Based Approach for Recovering System Availability Requirements from Execution TracesSystem Analysis and Modeling: Models and Reusability10.1007/978-3-319-11743-0_4(48-63)Online publication date: 2014
  • (2012)An animation framework for improving the comprehension of TinyOS programsProceedings of the 27th Annual ACM Symposium on Applied Computing10.1145/2245276.2232036(1625-1631)Online publication date: 26-Mar-2012
  • (2011)On tracing reactive systemsSoftware and Systems Modeling (SoSyM)10.1007/s10270-010-0151-210:4(447-468)Online publication date: 1-Oct-2011
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media