Dbux-PDG: An Interactive Program Dependency Graph for Data Structures and Algorithms

Dominik Seifert, Michael Wan, Jane Hsu, Benson Yeh

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Understanding and debugging of data structures and algorithms (DSA) is one of the most common tasks in computer science. DSA tests have also become a standard threshold that software developers have to cross to "get the job". One major challenge in comprehending and debugging DSA implementations lies in establishing and maintaining mental models of the quintessentially complex and twisted networks of events that make up their dynamic runtime behavior. Despite the high level of difficulty of this crucial task, general purpose tools to help users understand or reason about DSA implementations still have very limited capabilities. In this work we present Dbux-PDG, a dynamic Program Dependency Graph extension for the Dbux omniscient debugger. It captures data and control flow, as well as data dependencies of a program's execution for visualization and user interaction. To deal with the immense complexity of non-trivial programs, it offers multiple layers of summarization, that allow the user to explore either the graph as a whole or in parts, one step at a time, as they see fit. We present our findings from applying Dbux-PDG to 94 diverse algorithms and explore its utility in several case studies. All visual results are made available in an online gallery. Dbux-PDG is open source and one-click installable, making it a powerful, easy-to-use tool prototype for DSA comprehension.Video URL: Https://youtu.be/dgXj3VoQJZQ

Original languageEnglish
Title of host publicationProceedings - 2022 Working Conference on Software Visualization, VISSOFT 2022
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages141-151
Number of pages11
ISBN (Electronic)9781665480925
DOIs
StatePublished - 2022
Externally publishedYes
Event2022 Working Conference on Software Visualization, VISSOFT 2022 - Limassol, Cyprus
Duration: 02 10 202207 10 2022

Publication series

NameProceedings - 2022 Working Conference on Software Visualization, VISSOFT 2022

Conference

Conference2022 Working Conference on Software Visualization, VISSOFT 2022
Country/TerritoryCyprus
CityLimassol
Period02/10/2207/10/22

Bibliographical note

Publisher Copyright:
© 2022 IEEE.

Keywords

  • algorithm visualization
  • control flow
  • data dependencies
  • debugging
  • dynamic analysis
  • program dependency graph
  • software visualization

Fingerprint

Dive into the research topics of 'Dbux-PDG: An Interactive Program Dependency Graph for Data Structures and Algorithms'. Together they form a unique fingerprint.

Cite this