-
题名程序缺陷自动修复研究进展及关键问题
被引量:1
- 1
-
-
作者
曹鹤玲
刘昱
赵晨阳
王玉华
-
机构
河南工业大学信息科学与工程学院
河南工业大学粮食信息处理与控制教育部重点实验室
-
出处
《小型微型计算机系统》
CSCD
北大核心
2022年第3期644-654,共11页
-
基金
国家自然科学基金项目(61602154)资助。
-
文摘
程序缺陷自动修复是指针对程序中存在的缺陷,自动生成相应的程序补丁,进而使程序恢复正常运行.首先,根据补丁生成方式的不同,将程序缺陷自动修复方法划分为4类,分别为基于搜索的、基于语义的、基于机器学习的以及基于错误报告驱动的程序缺陷自动修复方法.基于搜索的程序缺陷自动修复方法运用启发式算法在搜索空间内通过搜索生成程序补丁;基于语义的程序缺陷自动修复方法将修复约束作为合成程序补丁的规约,最后通过约束求解器生成程序补丁;基于机器学习的程序缺陷自动修复方法使用数据集训练并生成修复模型,通过修复模型生成程序补丁;基于错误报告驱动的程序缺陷自动修复方法通过利用程序执行以及用户反馈的错误信息生成程序补丁.本文对以上4类程序缺陷自动修复方法进行了详细阐述;其次,总结了检验程序缺陷自动修复方法及工具修复效果所用到的缺陷库;最后,分析了程序缺陷自动修复在工业界的应用现状并总结了该领域面临的关键问题及未来研究的方向.
-
关键词
程序缺陷自动修复
约束求解
机器学习
错误报告
缺陷库
-
Keywords
automatic program repair
constraint solving
machine learning
bug report
defect library
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-