摘要

自动程序修复技术可实现对软件缺陷的自动修复,并使用测试套件评估修复补丁.然而因为测试套件不充分,通过测试套件的补丁可能并未正确修复缺陷,甚至引入新的缺陷并产生波及效应,导致自动程序修复生成大量过拟合补丁.针对这个问题,本文提出了一种基于数据流分析的过拟合补丁识别方法,首先将补丁对程序的修改分解为对变量的操作,然后采用数据流分析方法识别补丁影响域,并根据补丁影响域选择针对性覆盖准则来识别目标覆盖元素,进而选取测试路径并生成测试用例实现对修复程序的充分测试,避免修复副作用的影响.本文在两个数据集上进行了评估,实验结果表明,基于数据流分析的过拟合补丁识别方法可有效提升自动程序修复的正确性.

全文