Improving the scalability of tools incorporating sequence diagram visualizations of large execution traces




Myers, Del

Journal Title

Journal ISSN

Volume Title



Sequence diagrams are a popular way to visualize dynamic software execution traces. However, they tend to be extremely large, causing significant scalability problems. Not only is it difficult from a technical perspective to build interactive sequence diagram tools that are able to display large traces, it is also difficult for people to understand them. While cognitive support theory exists to help cope with the later problem, no work to date has described how to implement the cognitive support theory in sequence diagram tools. In this thesis, we tackle both the technical and cognitive support problems. First, we use previous research about cognitive support feature requirements to design and engineer an interactive, widget-based sequence diagram visualization. After implementing the visualization, we use benchmarks to test its scalability and ensure that it is efficient enough to be used in realistic applications. Then, we present two novel approaches for reducing the cognitive overhead required to understand large sequence diagrams. The first approach is to compact sequence diagrams using loops found in source code. We present an algorithm that is able to compact diagrams by up to 80%. The second approach is called the trace-focused user interface which uses software reconnaissance to create a degree-of-interest model to help users focus on particular software features and navigate to portions of the sequence diagram that are related to those features. We present a small user study that indicates the viability of the trace-focused user interface. Finally, we present the results of a small survey that indicates that users of the software find the loop compaction and the trace-focused user interface both useful.



computer science, software engineering, reverse engineering, uml, dynamic analysis