论文标题

自动调试的贝叶斯框架

A Bayesian Framework for Automated Debugging

论文作者

Kang, Sungmin, Choi, Wonkeun, Yoo, Shin

论文摘要

调试占开发人员时间的很大一部分。结果,包括故障定位(FL)和自动化程序维修(APR)在内的自动调试技术,由于其潜力有助于开发人员进行调试任务,因此引起了极大的关注。尽管对这些主题进行了深入的研究,但我们并未意识到一个理论框架,该框架突出了自动调试背后的原理并允许对技术的抽象分析。这样的框架将提高我们对努力的理解,并提供一种正式分析技术和方法的方法。为此,我们首先提出了一个理解自动修复的贝叶斯框架,并发现与自动调试目标的具体陈述结合在一起,我们可以从先前的工作中恢复最大的故障定位公式,并分析现有的APR技术及其基本假设。 作为凭经验证明我们的框架的一种手段,我们进一步提出了Bapp,Bapp是一种贝叶斯贴片优先技术,该技术结合了中间程序值,以分析可能的补丁位置和维修操作,其核心方程是由我们的贝叶斯框架得出的。我们发现,合并程序值允许BAPP更精确地识别正确的补丁:当应用于KPAR生成的补丁时,BAPP产生的排名将所需的补丁验证的数量减少了68%,因此将维修时间降低了34分钟。此外,BAPP提高了FL的精度,在研究的错误中提高了ACC@5。这些结果突出了价值认知自动调试技术的潜力,并进一步验证了我们的理论框架。最后,提供了框架建议的未来指示。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源