Understanding Debugging as Episodes: A Case Study on Performance Bugs in Configurable Software Systems
Debugging performance bugs in configurable software systems is a complex and time-consuming task that requires not only fixing a bug, but also understanding its root cause. While there is a vast body of literature on debugging strategies, there is no consensus on general debugging. This makes it difficult to provide concrete guidance for developers, especially for configuration-dependent performance bugs. The goal of our work is to alleviate this situation by providing an framework to describe debugging strategies in a more general, unifying way. We conducted a user study with 12 professional developers who debugged a performance bug in a real-world configurable system. To observe developers in an unobstructive way, we provided an immersive virtual reality tool, SoftVR, giving them a large degree of freedom to choose the preferred debugging strategy. The results show that the existing documentation of strategies is too coarse-grained and intermixed to identify successful approaches. In a subsequent qualitative analysis, we devised a coding framework to reason about debugging approaches. With this framework, we identified five goal-oriented episodes that developers employ, which they also confirmed in subsequent interviews. Our work provides a unified description of debugging strategies, allowing researchers a common foundation to study debugging and practitioners and teachers guidance on successful debugging strategies.
Authors
- Norbert Siegmund (ORCID: https://orcid.org/0000-0001-7741-7777)
- Raimund Dachselt (ORCID: https://orcid.org/0000-0002-2176-876X)
- Sven Apel (ORCID: https://orcid.org/0000-0003-3687-2233)
- Alina Mailach (ORCID: https://orcid.org/0000-0001-6204-2095)
- Janet Siegmund
- Max Weber (ORCID: https://orcid.org/0000-0003-3454-4121)
Institutions
- Chemnitz University of Technology (DE)
- Saarland University (DE)
- Leipzig University (DE)
Publication Details
- Journal
- Proceedings of the ACM on software engineering.
- Published
- 2025-06-19
- DOI
- https://doi.org/10.1145/3717523
- Primary Topic
- Software Engineering Research
- Type
- article
- Field-Weighted Citation Impact
- 0.00