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 language | English |
---|---|
Title of host publication | Proceedings - 2022 Working Conference on Software Visualization, VISSOFT 2022 |
Publisher | Institute of Electrical and Electronics Engineers Inc. |
Pages | 141-151 |
Number of pages | 11 |
ISBN (Electronic) | 9781665480925 |
DOIs | |
State | Published - 2022 |
Externally published | Yes |
Event | 2022 Working Conference on Software Visualization, VISSOFT 2022 - Limassol, Cyprus Duration: 02 10 2022 → 07 10 2022 |
Publication series
Name | Proceedings - 2022 Working Conference on Software Visualization, VISSOFT 2022 |
---|
Conference
Conference | 2022 Working Conference on Software Visualization, VISSOFT 2022 |
---|---|
Country/Territory | Cyprus |
City | Limassol |
Period | 02/10/22 → 07/10/22 |
Bibliographical note
Publisher Copyright:© 2022 IEEE.
Keywords
- algorithm visualization
- control flow
- data dependencies
- debugging
- dynamic analysis
- program dependency graph
- software visualization