Graph-Related Properties for Comparing Dynamic Call Graphs

Michael Burch (Corresponding author)

Research output: Contribution to journalArticleAcademicpeer-review

Abstract

Software systems produce long sequences of call graphs, in particular, if the graphs are generated during runtime and not revision by revision. Visualizing, analyzing, and interacting with such long dynamic graphs with respect to different properties is a challenging task. In this article we describe an interactive visualization technique for dynamic call graphs that supports the observation of the data in vertex, edge, and time dimensions based on properties related to the graph topology, inherent vertex hierarchy, involved links, and graph-theoretic problems. Moreover, we provide a time-aligned view on several dynamic graphs with the goal to compare them visually. We also provide standard node-link diagrams for individual graphs or aggregated dynamic graph subsequences as a details-on-demand technique and for supporting graph comparisons on different temporal granularities. We illustrate the usefulness of the dynamic graph visualization by applying it to the call relations at runtime of the open source software project JHotDraw. We evaluated the interactive visualization by reflecting on the static and dynamic patterns we could identify in the dataset by changing the graph properties under exploration. Moreover, we conducted a controlled user study with 20 participants investigating three typical tasks like finding graph sequences, identifying a complete graph, and exploring the reason for a change in a shortest path algorithm. Finally, we discuss scalabilities and limitations of our approach.
Original languageEnglish
Article number100967
Number of pages13
JournalJournal of Computer Languages
Volume58
DOIs
Publication statusPublished - Jun 2020

Keywords

  • Dynamic graph visualization
  • Software visualization
  • Edge splattingInterleaving
  • Time-dependent data

Fingerprint Dive into the research topics of 'Graph-Related Properties for Comparing Dynamic Call Graphs'. Together they form a unique fingerprint.

Cite this