2010 · 23 citations · 15 references
ComputingComputer ScienceVisualizationDiagrammingProgramming LanguagesSoftware EngineeringBehavioral AnalysisControl-flow AnalysisData-flow AnalysisDebug Information GenerationDebugging SupportExecution Trace AnalysisExecution TracingProgram Trace AnalysisTrace-based DebuggingUml Sequence DiagramsVisual Debugging
In recent years, dynamic program execution traces have been utilized in an attempt to better understand the runtime behavior of various software systems. The unfortunate reality of such traces is that they become very large. Even traces of small programs can produce many millions of messages between different software artifacts. This not only affects the load on computer memory and storage, but it also introduces cognitive load for users, affecting their ability to understand their software. This paper discusses an algorithm which combines data from multiple sources-dynamic execution traces, source code, and debug information-in order to drastically reduce the number of messages that are displayed to the user. We introduce the algorithm and apply it to the Java programming language. The algorithm is employed against several Java software systems to investigate its effectiveness in compacting loops. Its usage is demonstrated in the context of a visualization based on UML Sequence Diagrams.
15
Visualizing interactions in program executions
Dean Frederick Jerding, John Stasko, Thomas Ball · 1997 · 188 citations · Full text
Understanding Execution Traces Using Massive Sequence and Circular Bundle Views
Bas Cornelissen, Danny Holten, Andy Zaidman et al. · 2007 · 125 citations