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

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 tra...

Full description

Bibliographic Details
Main Author: Myers, Del
Other Authors: Storey, Margaret-Anne
Language:English
en
Published: 2011
Subjects:
uml
Online Access:http://hdl.handle.net/1828/3444
id ndltd-uvic.ca-oai-dspace.library.uvic.ca-1828-3444
record_format oai_dc
spelling ndltd-uvic.ca-oai-dspace.library.uvic.ca-1828-34442015-01-29T16:51:43Z Improving the scalability of tools incorporating sequence diagram visualizations of large execution traces Myers, Del Storey, Margaret-Anne computer science software engineering reverse engineering uml dynamic analysis 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. Graduate 2011-08-10T20:02:17Z 2011-08-10T20:02:17Z 2011 2011-08-10 Thesis http://hdl.handle.net/1828/3444 English en Available to the World Wide Web
collection NDLTD
language English
en
sources NDLTD
topic computer science
software engineering
reverse engineering
uml
dynamic analysis
spellingShingle computer science
software engineering
reverse engineering
uml
dynamic analysis
Myers, Del
Improving the scalability of tools incorporating sequence diagram visualizations of large execution traces
description 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. === Graduate
author2 Storey, Margaret-Anne
author_facet Storey, Margaret-Anne
Myers, Del
author Myers, Del
author_sort Myers, Del
title Improving the scalability of tools incorporating sequence diagram visualizations of large execution traces
title_short Improving the scalability of tools incorporating sequence diagram visualizations of large execution traces
title_full Improving the scalability of tools incorporating sequence diagram visualizations of large execution traces
title_fullStr Improving the scalability of tools incorporating sequence diagram visualizations of large execution traces
title_full_unstemmed Improving the scalability of tools incorporating sequence diagram visualizations of large execution traces
title_sort improving the scalability of tools incorporating sequence diagram visualizations of large execution traces
publishDate 2011
url http://hdl.handle.net/1828/3444
work_keys_str_mv AT myersdel improvingthescalabilityoftoolsincorporatingsequencediagramvisualizationsoflargeexecutiontraces
_version_ 1716729325505478656