抽象语义引导的空指针引用自动修复
作者:
作者单位:

作者简介:

通讯作者:

中图分类号:

基金项目:

山东省自然科学基金(ZR2021MF058)


Automatic Repair for Null Pointer References Guided by Abstract Semantics
Author:
Affiliation:

Fund Project:

  • 摘要
  • |
  • 图/表
  • |
  • 访问统计
  • |
  • 参考文献
  • |
  • 相似文献
  • |
  • 引证文献
  • |
  • 资源附件
  • |
  • 文章评论
    摘要:

    程序依赖图往往只能根据语句中变量的定义使用关系来判定数据依赖而无法从语义上精准判断, 从而容易引入虚假依赖关系, 使得缺陷修复的过程中使用错误信息造成修复失败. 因此, 本文将利用抽象属性对与空对象或空指针有关的虚假依赖进行剪枝, 提出基于抽象语义的程序依赖图减少与程序缺陷语义无关的依赖关系分析, 以完成空指针引用修复. 依据分析获取的依赖关系, 在空指针引用的不同修复策略的指导下实现一种多策略的修复方案, 在尽可能减小修复副作用的前提下完成空指针引用缺陷的修复. 本文利用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.

    参考文献
    相似文献
    引证文献
引用本文

王珣,孙玉雪,董玉坤,位欣欣,唐道龙.抽象语义引导的空指针引用自动修复.计算机系统应用,2023,32(1):376-384

复制
分享
文章指标
  • 点击次数:
  • 下载次数:
  • HTML阅读次数:
  • 引用次数:
历史
  • 收稿日期:2022-05-11
  • 最后修改日期:2022-06-15
  • 录用日期:
  • 在线发布日期: 2022-08-24
  • 出版日期:
文章二维码
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京海淀区中关村南四街4号 中科院软件园区 7号楼305房间,邮政编码:100190
电话:010-62661041 传真: Email:csa (a) iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号