Skip to Main Content
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.
Date of Conference: 15-18 March 2010