Understanding Debugging as Episodes: A Case Study on Performance Bugs in Configurable Software Systems
Max Weber, Alina Mailach, Sven Apel, Janet Siegmund, Raimund Dachselt, Norbert Siegmund
Abstract
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.
CCS Concepts: • Software and its engineering → Software testing and debugging.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext e32bc411-4ad2-44de-8b14-232039cd5e46Cited by top-tier papers1
Ask how each one uses itBuilds on6
- Robust Speech Recognition via Large-Scale Weak SupervisionAlec Radford, Jong Wook Kim, Tao Xu, Greg Brockman et al.ICML 2023 · 6,966 citations
- Unicorn: reasoning about configurable system performance through the lens of causalityMd Shahriar Iqbal, Rahul Krishna, Mohammad Ali Javidian, Baishakhi Ray et al.EuroSys 2022 · 60 citations
- Program Comprehension and Code Complexity Metrics: An fMRI StudyNorman Peitek, Sven Apel, Chris Parnin, André Brechmann et al.ICSE 2021 · 59 citations
- Sensemaking Strategies with Immersive Space to ThinkLee Lisle, Kylie Davidson, J. K. Edward Gitre, Chris North et al.IEEE VR 2021 · 57 citations
- On Debugging the Performance of Configurable Software Systems: Developer Needs and Tailored Tool SupportMiguel Velez, Pooyan Jamshidi, Norbert Siegmund, Sven Apel et al.ICSE 2022 · 21 citations
Related papers
- CP-Detector: Using Configuration-related Performance Properties to Expose Performance BugsHaochen He, Zhouyang Jia, Shanshan Li, Erci Xu et al.ASE 2020 · 14 citations
- Faster Configuration Performance Bug Testing with Neural Dual-Level PrioritizationYoupeng Ma, Tao Chen, Ke LiICSE 2025 · 4 citations
- White-Box Performance-Influence Models: A Profiling and Learning ApproachMax Weber, Sven Apel, Norbert SiegmundICSE 2021 · 2 citations
- UniDebugger: Hierarchical Multi-Agent Framework for Unified Software DebuggingCheryl Lee, Chunqiu Steven Xia, Longji Yang, Jen-tse Huang et al.EMNLP 2025
- DiagConfig: Configuration Diagnosis of Performance Violations in Configurable Software SystemsZhiming Chen, Pengfei Chen, Peipei Wang, Guangba Yu et al.FSE 2023 · 9 citations
