本文已被:浏览 527次 下载 1570次
Received:May 11, 2022 Revised:June 15, 2022
Received:May 11, 2022 Revised:June 15, 2022
中文摘要: 程序依赖图往往只能根据语句中变量的定义使用关系来判定数据依赖而无法从语义上精准判断, 从而容易引入虚假依赖关系, 使得缺陷修复的过程中使用错误信息造成修复失败. 因此, 本文将利用抽象属性对与空对象或空指针有关的虚假依赖进行剪枝, 提出基于抽象语义的程序依赖图减少与程序缺陷语义无关的依赖关系分析, 以完成空指针引用修复. 依据分析获取的依赖关系, 在空指针引用的不同修复策略的指导下实现一种多策略的修复方案, 在尽可能减小修复副作用的前提下完成空指针引用缺陷的修复. 本文利用Defects4J中的空指针引用对实现的修复工具DTSFix进行实验评估, 结果显示DTSFix的修复效果远远高于对比工具, 证明了方法的有效性.
Abstract:Program dependency graph usually judges the data dependency according to definition-use relationships of variables in statements, and it cannot make an accurate judgment according to the semantics, which leads to the introduction of false dependency relationships and the repair failure caused by the use of error information in repairing defects. Therefore, this study will prune false dependencies related to null objects or null pointers by using abstract attributes and propose an abstract semantic-based program dependency graph to reduce the analysis of dependency relationships unrelated to the semantics of program defects and repair null pointer references. Based on the dependency relationships obtained from the analysis, a multi-strategies repair scheme is implemented under the guidance of different repair strategies for null pointer references, and the null pointer references are repaired with side effects minimized as much as possible. In addition, in this study, the null pointer references in Defects4J are adopted to evaluate the repair tool DTSFix through experiments. The results show that the repair effect of DTSFix is much better than that of other tools, which proves the effectiveness of the method.
keywords: abstract semantics program dependency graph automatic program repair null pointer references repair strategies
文章编号: 中图分类号: 文献标志码:
基金项目:山东省自然科学基金(ZR2021MF058)
引用文本:
王珣,孙玉雪,董玉坤,位欣欣,唐道龙.抽象语义引导的空指针引用自动修复.计算机系统应用,2023,32(1):376-384
WANG Xun,SUN Yu-Xue,DONG Yu-Kun,WEI Xin-Xin,TANG Dao-Long.Automatic Repair for Null Pointer References Guided by Abstract Semantics.COMPUTER SYSTEMS APPLICATIONS,2023,32(1):376-384
王珣,孙玉雪,董玉坤,位欣欣,唐道龙.抽象语义引导的空指针引用自动修复.计算机系统应用,2023,32(1):376-384
WANG Xun,SUN Yu-Xue,DONG Yu-Kun,WEI Xin-Xin,TANG Dao-Long.Automatic Repair for Null Pointer References Guided by Abstract Semantics.COMPUTER SYSTEMS APPLICATIONS,2023,32(1):376-384