The Visual Debugger Tool

Tim Kräuter,Harald König,Adrian Rutle,Yngve Lamo
DOI: https://doi.org/10.1109/ICSME55016.2022.00066
2024-04-19
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
Software Engineering
What problem does this paper attempt to address?
The paper primarily addresses the issues of high debugging costs and low efficiency in the software development process. Specifically, the paper introduces a novel visual debugging tool (Visual Debugger) designed to enhance software developers' debugging efficiency by graphically representing program execution information. The core problems the paper attempts to solve are as follows: 1. **Reducing Debugging Costs**: In current software development, debugging occupies a significant amount of time and budget (approximately 50%-75% of the total project budget). By providing an easy-to-use visual debugging tool, the authors aim to reduce the time required for debugging, thereby lowering overall maintenance costs. 2. **Enhancing Program Understanding**: Traditional text-based debugging methods only display top-level variables and struggle to show the entire object world and its relationships. By graphically displaying the program state, developers can better understand and analyze the control flow and data flow during program execution. 3. **Seamless Integration into Existing IDEs**: Compared to existing debugging tools, this tool is specifically designed to seamlessly integrate with the popular Java development environment IntelliJ IDEA, allowing developers to use it without changing their workflow. Additionally, the tool is lightweight and non-intrusive, and can be used in conjunction with traditional text-based debugging tools. In summary, the paper proposes a new visual debugging tool aimed at increasing software developers' productivity and simplifying the debugging process.