The Visual Debugger Tool
Tim Kräuter, Harald König, Adrian Rutle, Yngve Lamo
TL;DR
The paper tackles the high cost of debugging in software maintenance by introducing an open-source Visual Debugger that is tightly integrated with IntelliJ IDEA and visualizes program execution as an interactive object diagram. It presents a two-component architecture with a Java-based debugger and a browser-based visualization powered by an ELK layout and a WebSocket-based Visual Debugger API, enabling live updates and depth-driven exploration. Key contributions include IDE integration, a reusable visualization component, and exportable diagrams (SVG/XML) to support bug documentation and state inspection, aiming to speed up debugging without disrupting workflows. The tool demonstrates practical impact with thousands of downloads and favorable feedback, highlighting potential improvements in developer productivity and maintenance efficiency.
Abstract
Debugging is an essential part of software maintenance and evolution since it allows software developers to analyze program execution step by step. Understanding a program is required to fix potential flaws, alleviate bottlenecks, and implement new desired features. Thus, software developers spend a large percentage of their time validating and debugging software, resulting in high software maintenance and evolution cost. We aim to reduce this cost by providing a novel visual debugging tool to software developers to foster program comprehension during debugging. Our debugging tool visualizes program execution information graphically as an object diagram and is fully integrated into the popular Java development environment IntelliJ IDEA. Moreover, the object diagram allows interactions to explore program execution information in more detail. A demonstration of our tool is available at https://www.youtube.com/watch?v=lU_OgotweRk.
