一种基于规则的自动程序修复方法

作者:黄昱铭; 马建峰; 刘志全*; 冯丙文; 魏凯敏
来源:西安电子科技大学学报, 2020, 47(04): 117-123.
DOI:10.19665/j.issn1001-2400.2020.04.016

摘要

为解决基于测试集自动程序修复方法修复缺陷正确率低的问题,提出一种基于规则的自动程序修复方法——RuleFix。该方法首先通过挖掘代码中的隐式编程规则定位缺陷位置,然后根据隐式编程规则选取合适的补丁,最后采用程序合成工具对补丁进行校验以保证修复结果的正确性。此外,为解决现有规则挖掘算法无法有效挖掘低频规则的问题,提出一种低频规则挖掘算法,根据已有规则推演生成新的规则,以提升规则挖掘的能力。基于所提方法实现了原型工具,并与现有的自动程序修复方法进行对比。实验结果表明,与现有的GenProg和PAR方法相比,所提方法有明显更高的修复率和正确率。

全文