首页 | 官方网站   微博 | 高级检索  
     

基于数据流分析的过拟合补丁识别
引用本文:董玉坤,杨宇飞,程小彤,唐叶尔.基于数据流分析的过拟合补丁识别[J].计算机系统应用,2023,32(12):261-267.
作者姓名:董玉坤  杨宇飞  程小彤  唐叶尔
作者单位:中国石油大学(华东) 青岛软件学院、计算机科学与技术学院, 青岛 266580
基金项目:山东省自然科学基金(ZR2021MF058)
摘    要:自动程序修复技术可实现对软件缺陷的自动修复, 并使用测试套件评估修复补丁. 然而因为测试套件不充分, 通过测试套件的补丁可能并未正确修复缺陷, 甚至引入新的缺陷并产生波及效应, 导致自动程序修复生成大量过拟合补丁. 针对这个问题, 本文提出了一种基于数据流分析的过拟合补丁识别方法, 首先将补丁对程序的修改分解为对变量的操作, 然后采用数据流分析方法识别补丁影响域, 并根据补丁影响域选择针对性覆盖准则来识别目标覆盖元素, 进而选取测试路径并生成测试用例实现对修复程序的充分测试, 避免修复副作用的影响. 本文在两个数据集上进行了评估, 实验结果表明, 基于数据流分析的过拟合补丁识别方法可有效提升自动程序修复的正确性.

关 键 词:自动程序修复  过拟合补丁  补丁影响域  数据流分析  测试用例生成
收稿时间:2023/5/18 0:00:00
修稿时间:2023/6/26 0:00:00

Overfitting Patch Identification Based on Data Flow Analysis
DONG Yu-Kun,YANG Yu-Fei,CHENG Xiao-Tong,TANG Ye-Er.Overfitting Patch Identification Based on Data Flow Analysis[J].Computer Systems& Applications,2023,32(12):261-267.
Authors:DONG Yu-Kun  YANG Yu-Fei  CHENG Xiao-Tong  TANG Ye-Er
Affiliation:Qingdao Institute of Software & College of Computer Science and Technology, China University of Petroleum, Qingdao 266580, China
Abstract:Automatic program repair techniques can realize automatic repair of software defects and employ test suites to evaluate repair patches. However, because of inadequate test suites, the patches passing the test suites may not repair the defects correctly, or even introduce new defects with ripple effects, which results in a large number of overfitting patches generated by automatic program repair. To this end, an overfitting patch identification method based on data flow analysis is proposed. This method firstly decomposes the patch modifications to the program into operations on variables, then adopts data flow analysis to identify the patch influence domain, and selects targeted coverage criteria to identify target coverage elements according to the domain. Finally, test paths are selected and test cases are generated to fully test the repair program to avoid the impact of repairing side effects. This study conducts evaluations on two datasets, and the experimental results show that the overfitting patch identification method based on data flow analysis can improve the correctness of automatic program repair.
Keywords:automatic program repair (APR)  overfitting patches  patch influence domain  data flow analysis  test case generation
点击此处可从《计算机系统应用》浏览原始摘要信息
点击此处可从《计算机系统应用》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号