一句话:提出按需生成候选的程序修复思路,缓解生成-验证式修复中候选数量过大带来的低效问题。
有效程序修复能通过修改故障程序使其满足给定测试集,从而显著降低人工调试成本。常见修复范式是先迭代生成带有潜在修复的候选程序,再针对测试集进行验证,直到找到通过全部测试的候选。该范式概念简单,但由于需要生成、编译并测试的候选数量可能非常大,现有基于此范式的技术整体效果相对有限,尤其在细粒度故障上更为明显。本文面向实用程序修复提出按需候选生成(on-demand candidate generation)的方向,旨在根据修复搜索与验证过程的需要生成候选,而非预先产生大量候选,从而减少不必要的生成、编译与测试开销。评估仍以给定测试套件作为正确性判据,通过编译和运行候选直至找到通过全部测试的修复;摘要未报告具体实验数据。
Effective program repair techniques, which modify faulty programs to fix them with respect to given test suites, can substantially reduce the cost of manual debugging. A common repair approach is to iteratively first generate candidate programs with possible bug fixes and then validate them against the given tests until a candidate that passes all the tests is found. While this approach is conceptually simple, due to the potentially high number of candidates that need to first be generated and then be compiled and tested, existing repair techniques that embody this approach have relatively low effectiveness, especially for faults at a fine granularity.