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

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

Full description

Saved in:
Bibliographic Details
Published in:Proceedings of VISSOFT (Online) pp. 141 - 151
Main Authors: Seifert, Dominik, Wan, Michael, Hsu, Jane, Yeh, Benson
Format: Conference Proceeding
Language:English
Published: IEEE 01.10.2022
Subjects:
ISSN:2832-6555
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary: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
ISSN:2832-6555
DOI:10.1109/VISSOFT55257.2022.00022