Understanding Debugging as Episodes: A Case Study on Performance Bugs in Configurable Software Systems

Research output: Contribution to journalConference articleContributedpeer-review

Contributors

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.

Details

Original languageEnglish
Pages (from-to)1409-1431
Number of pages23
JournalProceedings of the ACM on Software Engineering
Volume2
Issue numberFSE
Publication statusPublished - 2025
Peer-reviewedYes

External IDs

ORCID /0000-0002-2176-876X/work/199215980
Mendeley d83df9b1-8804-376c-a16c-de9a291a5059

Keywords