一种基于规则的自动程序修复方法 |
| |
作者姓名: | 黄昱铭 马建峰 刘志全 冯丙文 魏凯敏 |
| |
作者单位: | 1. 暨南大学信息科学技术学院;2. 西安电子科技大学网络与信息安全学院;3. 中国科学院信息工程研究所信息安全国家重点实验室;4. 广东省信息安全技术重点实验室;5. 广东省智能信息处理重点实验室/深圳市媒体信息内容安全重点实验室 |
| |
基金项目: | 国家自然科学基金(61802146,61972178,61802145);;广东省自然科学基金(2019B010137005,2018A030313813,2018A03031387,2017A030313390,2017A030313334);;广州市科技计划(201804010428,201802010061);;中央高校基本科研业务费专项资金(11618332,11617343);;信息安全国家重点实验室开放课题; |
| |
摘 要: | 为解决基于测试集自动程序修复方法修复缺陷正确率低的问题,提出一种基于规则的自动程序修复方法——RuleFix。该方法首先通过挖掘代码中的隐式编程规则定位缺陷位置,然后根据隐式编程规则选取合适的补丁,最后采用程序合成工具对补丁进行校验以保证修复结果的正确性。此外,为解决现有规则挖掘算法无法有效挖掘低频规则的问题,提出一种低频规则挖掘算法,根据已有规则推演生成新的规则,以提升规则挖掘的能力。基于所提方法实现了原型工具,并与现有的自动程序修复方法进行对比。实验结果表明,与现有的GenProg和PAR方法相比,所提方法有明显更高的修复率和正确率。
|
关 键 词: | 自动程序修复 基于规则 静态分析 测试集 |
|
|