论文标题
自动化程序维修的异常驱动故障本地化
Exception-Driven Fault Localization for Automated Program Repair
论文作者
论文摘要
自动化程序维修(APR)技术通常利用基于频谱的故障定位(SBFL)来识别应修补的程序位置,从而使APR技术的有效性取决于故障定位的有效性。实际上,结果表明,SBFL通常不会准确地定位故障,从而阻碍了APR的有效性。在本文中,我们提出了一种提议,该技术通过关注故障的语义而不是像SBFL那样解决执行语句与失败测试之间的相关性来解决本地化问题。由于异常,我们专注于失败,并利用它们的类型和来源来本地化并猜测故障。来自缺陷4J基准的43次异常断层的实验表明,除了可以比Ochiai和ssfix表现更好。
Automated Program Repair (APR) techniques typically exploit spectrum-based fault localization (SBFL) to identify the program locations that should be patched, making the effectiveness of APR techniques dependent on the effectiveness of fault localization. Indeed, results show that SBFL often does not localize faults accurately, hindering the effectiveness of APR. In this paper, we propose EXCEPT, a technique that addresses the localization problem by focusing on the semantics of failures rather than on the correlation between the executed statements and the failed tests, as SBFL does. We focus on failures due to exceptions and we exploit their type and source to localize and guess the faults. Experiments with 43 exception-raising faults from the Defects4J benchmark show that EXCEPT can perform better than Ochiai and ssFix.