自动化程序修复技术及影响分析
发布时间:2022-01-24 16:18
随着现代软件产业规模的逐渐增大,程序修复已经成为软件开发和维护过程中消耗资源最多的活动之一。自动化程序修复技术旨在利用计算机高效的处理能力代替传统程序修复活动中繁重的人工劳动。因其美好的实现愿景,自动化程序修复技术自诞生以来受到了学术界和工业界的广泛关注。经过近10年的发展,虽然自动化程序修复领域涌现出了很多优秀的技术方法,如Gen Prog、AE等技术均在其验证实验中表现出了很好的修复效果,但目前仍缺少对自动化程序修复全面的实证研究,不同的目标程序规模、测试用例和修复技术等因素如何影响修复效果仍不明确。因此,本文基于5种主要的修复技术,对其在25种不同的测试用例组合条件下修复180个不同的程序错误的过程开展大规模的实证研究,根据实验数据来探索修复过程中的各项因素如何影响最终的修复效果,并进一步分析现有修复技术存在的缺陷。实验数据显示,现有自动化程序修复技术在修复较大规模程序的错误时易出现成功率和效率大幅度下降的问题,这主要有两方面原因:一是候选补丁的搜索空间过大,修复技术难以搜索到正确补丁;二是程序错误过于复杂,修复技术无法生成正确补丁。以这两方面缺陷为切入点,本文分别提出了基于变异...
【文章来源】:东南大学江苏省 211工程院校 985工程院校 教育部直属院校
【文章页数】:111 页
【学位级别】:博士
【部分图文】:
论文章节的组织结构
50%。我们同样也针对成功修复补丁进行了搜索空间的研究分析,具体数据参见图3.6。从图中数据可以看出,上述的正确补丁分布规则同样适用于除RSRepair外的其他4种自动化程序修复技术生成的成功修复补丁。在实验中,我们一共获取了2897个成功修复补丁,在候选补丁的前50%搜索空间中,Brute-force、AE、Kali、GenProg和RSRepair分别能够搜索到94%、74%、89%、90%和63%的成功修复补丁。结论 10: 实验中除 RSRepair 外的其他 4 种自动化程序修复技术均能够在候选补丁搜索空间的前 50% 找到 80% 的正确补丁和成功修复补丁。3.5 讨论3.5.1 实验结论综合分析本章实验旨在探索修复过程中的各项因素对修复结果的影响。在对实验结果的实证分析过程中,我们从不同的角度得到了10个结论,下面我们结合修复过程中的各项因38
本文编号:3606896
【文章来源】:东南大学江苏省 211工程院校 985工程院校 教育部直属院校
【文章页数】:111 页
【学位级别】:博士
【部分图文】:
论文章节的组织结构
50%。我们同样也针对成功修复补丁进行了搜索空间的研究分析,具体数据参见图3.6。从图中数据可以看出,上述的正确补丁分布规则同样适用于除RSRepair外的其他4种自动化程序修复技术生成的成功修复补丁。在实验中,我们一共获取了2897个成功修复补丁,在候选补丁的前50%搜索空间中,Brute-force、AE、Kali、GenProg和RSRepair分别能够搜索到94%、74%、89%、90%和63%的成功修复补丁。结论 10: 实验中除 RSRepair 外的其他 4 种自动化程序修复技术均能够在候选补丁搜索空间的前 50% 找到 80% 的正确补丁和成功修复补丁。3.5 讨论3.5.1 实验结论综合分析本章实验旨在探索修复过程中的各项因素对修复结果的影响。在对实验结果的实证分析过程中,我们从不同的角度得到了10个结论,下面我们结合修复过程中的各项因38
本文编号:3606896
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3606896.html