Evaluating the Impact of Experimental Assumptions in Automated Fault Localization
Ezekiel O. Soremekun, Lukas Kirschner, Marcel Böhme, Mike Papadakis
Abstract
Much research on automated program debugging often assumes that bug fix location(s) indicate the faults' root causes and that root causes of faults lie within single code elements (statements). It is also often assumed that the number of statements a developer would need to inspect before finding the first faulty statement reflects debugging effort. Although intuitive, these three assumptions are typically used (55% of experiments in surveyed publications make at least one of these three assumptions) without any consideration of their effects on the debugger's effectiveness and potential impact on developers in practice. To deal with this issue, we perform controlled experimentation, split testing in particular, using 352 bugs from 46 open-source C programs, 19 Automated Fault Localization (AFL) techniques (18 statistical debugging formulas and dynamic slicing), two (2) stateof-the-art automated program repair (APR) techniques (GenProg and Angelix) and 76 professional developers. Our results show that these assumptions conceal the difficulty of debugging. They make AFL techniques appear to be (up to 38%) more effective, and make APR tools appear to be (2X) less effective. We also find that most developers (83%) consider these assumptions to be unsuitable for debuggers and, perhaps worse, that they may inhibit development productivity. The majority (66%) of developers prefer debugging diagnoses without these assumptions twice as much as with the assumptions. Our findings motivate the need to assess debuggers conservatively, i.e., without these assumptions. Table I EXAMPLES OF REAL-WORLD BUGGY PROGRAMS SHOWCASING EACH ASSUMPTION, INCLUDING SAMPLE DIAGNOSES AND QUOTES FROM LITERATURE ILLUSTRATING EACH ASSUMPTION AND THEIR USE IN DEBUGGING LITERATURE AND BUG DATASETS Perfect Bug Understanding (PBU) Using Fixes as Fault Location Single Faulty Location Example Program 1 void add(int * i, char * c) 2 * i = * i + * c; 3 if ( * i >= 256) 4 * i = 0; 5 6 7 int main() 8 ... 9 while (c != '') 10 add(&i, &c); 11 scan_data(&c); 12 13 i = (i % 64) + 32; 14 printf("Check sum is %c", i); 15 ...
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 45eb6aed-1c76-45f1-af72-f361766e80b5Cited by top-tier papers4
- PAFL: Enhancing Fault Localizers by Leveraging Project-Specific Fault PatternsDonguk Kim, Minseok Jeon, Doha Hwang, Hakjoo OhOOPSLA 2025 · 1 citation
- UniDebugger: Hierarchical Multi-Agent Framework for Unified Software DebuggingCheryl Lee, Chunqiu Steven Xia, Longji Yang, Jen-tse Huang et al.EMNLP 2025
- CoReX: Context-Aware Refinement-Based Slicing for Debugging Regression FailuresSahar Badihi, Julia RubinICSE 2026
- RePurr: Automated Repair of Block-Based Learners' ProgramsSebastian Schweikl, Gordon FraserFSE 2025
Builds on3
- Fault Localization with Code Coverage Representation LearningYi Li, Shaohua Wang, Tien N. NguyenICSE 2021 · 120 citations
- Trust Enhancement Issues in Program RepairYannic Noller, Ridwan Shariffdeen, Xiang Gao, Abhik RoychoudhuryICSE 2022 · 51 citations
- Improving Fault Localization by Integrating Value and Predicate Based Causal Inference TechniquesYigit Küçük, Tim A. D. Henderson, Andy PodgurskiICSE 2021 · 6 citations
Related papers
- A Bayesian Framework for Automated DebuggingSungmin Kang, Wonkeun Choi, Shin YooISSTA 2023 · 1 citation
- On the Effectiveness of Unified Debugging: An Extensive Study on 16 Program Repair SystemsSamuel Benton, Xia Li, Yiling Lou, Lingming ZhangASE 2020 · 35 citations
- Can automated program repair refine fault localization? a unified debugging approachYiling Lou, Ali Ghanbari, Xia Li, Lingming Zhang et al.ISSTA 2020 · 99 citations
- Towards Boosting Patch Execution On-the-FlySamuel Benton, Yuntong Xie, Lan Lu, Mengshi Zhang et al.ICSE 2022 · 10 citations
- Automated Program Repair, What Is It Good For? Not Absolutely Nothing!Hadeel Eladawy, Claire Le Goues, Yuriy BrunICSE 2024 · 15 citations
