A Bayesian Framework for Automated Debugging
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. With the recent advance in techniques that treat the two tasks as closely coupled, such as Unified Debugging, a framework to formally express these two tasks together would heighten our understanding of automated debugging and provide a way to formally analyze techniques and approaches. To this end, we propose a Bayesian framework of understanding automated debugging. We find that the Bayesian framework, along with a concrete statement of the objective of automated debugging, 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: the rankings produced by BAPP reduced the number of required patch evaluations by 68% and consequently reduced the repair time by 34 minutes on average. Further, our Bayesian framework suggests a number of changes to the way fault localization information is used in program repair, which we validate is useful for BAPP. These results highlight the potential of value-cognizant automated debugging techniques, and further verifies our theoretical framework.
Tue 18 JulDisplayed time zone: Pacific Time (US & Canada) change
10:30 - 12:00 | ISSTA 1: Program Repair and DebuggingTechnical Papers at Amazon Auditorium (Gates G20) Chair(s): Andreas Zeller CISPA Helmholtz Center for Information Security | ||
10:30 15mTalk | Improving Spectrum-Based Localization of Multiple Faults by Iterative Test Suite Reduction Technical Papers DOI | ||
10:45 15mTalk | A Bayesian Framework for Automated Debugging Technical Papers DOI Pre-print | ||
11:00 15mTalk | ConfFix: Repairing Configuration Compatibility Issues in Android Apps Technical Papers Huaxun Huang Hong Kong University of Science and Technology, Chi Xu The Hong Kong University of Science and Technology, Ming Wen Huazhong University of Science and Technology, Yepang Liu Southern University of Science and Technology, Shing-Chi Cheung Hong Kong University of Science and Technology DOI | ||
11:15 15mTalk | Quantitative Policy Repair for Access Control on the Cloud Technical Papers William Eiers University of California at Santa Barbara, Ganesh Sankaran University of California at Santa Barbara, Tevfik Bultan University of California at Santa Barbara DOI | ||
11:30 15mTalk | Automated Program Repair from Fuzzing Perspective Technical Papers YoungJae Kim Ulsan National Institute of Science and Technology, Seungheon Han Ulsan National Institute of Science and Technology, Askar Yeltayuly Khamit Ulsan National Institute of Science and Technology, Jooyong Yi UNIST (Ulsan National Institute of Science and Technology) DOI |