A Bayesian Framework for Automated Debugging
Sungmin Kang, Wonkeun Choi, Shin Yoo
Abstract
Debugging takes up a significant portion of developer time. As a result, automated debugging techniques including Fault Localization (FL) and Automated Program Repair (APR) have garnered significant attention due to their potential to aid developers in debugging tasks. Despite intensive research on these subjects, we are unaware of a theoretic framework that highlights the principles behind automated debugging and allows abstract analysis of techniques. Such a framework would heighten our understanding of the endeavor and provide a way to formally analyze techniques and approaches. To this end, we first propose a Bayesian framework of understanding automated repair and find that in conjunction with a concrete statement of the objective of automated debugging, we can recover maximal fault localization formulae from prior work, as well as analyze existing APR techniques and their underlying assumptions. As a means of empirically demonstrating our framework, we further propose BAPP, a Bayesian Patch Prioritization technique that incorporates intermediate program values to analyze likely patch locations and repair actions, with its core equations being derived by our Bayesian framework. We find that incorporating program values allows BAPP to identify correct patches more precisely: when applied to the patches generated by kPAR, the rankings produced by BAPP reduce the number of required patch validation by 68% and consequently reduce the repair time by 34 minutes on average. Further, BAPP improves the precision of FL, increasing acc@5 on the studied bugs from 8 to 11. These results highlight the potential of value-cognizant automated debugging techniques, and further validates our theoretical framework. Finally, future directions that the framework suggests are provided.
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 062b8e7a-66b0-47dc-b00a-269e7acd8c67Builds on5
- A syntax-guided edit decoder for neural program repairQihao Zhu, Zeyu Sun, Yuan-an Xiao, Wenjie Zhang et al.FSE 2021 · 214 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
- SelfAPR: Self-supervised Program Repair with Test Execution DiagnosticsHe Ye, Matias Martinez, Xiapu Luo, Tao Zhang et al.ASE 2022 · 75 citations
- Fault Localization via Efficient Probabilistic Modeling of Program SemanticsMuhan Zeng, Yiqian Wu, Zhentao Ye, Yingfei Xiong et al.ICSE 2022 · 37 citations
- Towards Boosting Patch Execution On-the-FlySamuel Benton, Yuntong Xie, Lan Lu, Mengshi Zhang et al.ICSE 2022 · 10 citations
Related papers
- On the Effectiveness of Unified Debugging: An Extensive Study on 16 Program Repair SystemsSamuel Benton, Xia Li, Yiling Lou, Lingming ZhangASE 2020 · 35 citations
- Evaluating the Impact of Experimental Assumptions in Automated Fault LocalizationEzekiel O. Soremekun, Lukas Kirschner, Marcel Böhme, Mike PapadakisICSE 2023 · 9 citations
- Must Fault Localization for Program RepairBat-Chen Rothenberg, Orna GrumbergCAV 2020 · 16 citations
- Fast and Precise On-the-fly Patch Validation for AllLingchao Chen, Yicheng Ouyang, Lingming ZhangICSE 2021 · 24 citations
- Less Is More: Adaptive Program Repair with Bug Localization and Preference LearningZhenlong Dai, Bingrui Chen, Zhuoluo Zhao, Xiu Tang et al.AAAI 2025
