软件学报

北大核心,INSPEC,JST,Pж(AJ),EI

国内刊号:11-2560/TP

国际刊号:1000-9825

软件学报杂志2023年第10期:RTDMiner: 基于数据挖掘的引用计数更新缺陷检测方法

发布日期:

作者:边攀,梁彬,黄建军,游伟,石文昌,张健

单位:边攀,中国人民大学 信息学院, 北京 100872;华为技术有限公司, 北京 10008511,梁彬,中国人民大学 信息学院, 北京 10087202,黄建军,中国人民大学 信息学院, 北京 10087203,游伟,中国人民大学 信息学院, 北京 10087204,石文昌,中国人民大学 信息学院, 北京 10087205,张健,计算机科学国家重点实验室 (中国科学院 软件研究所), 北京 10019006

关键词:引用计数;缺陷检测;数据挖掘;静态分析

基金:国家自然科学基金(U1836209,62132020,61802413,62002361)

在Linux内核等大型底层系统中广泛采用引用计数来管理共享资源. 引用计数需要与引用资源的对象个数保持一致, 否则可能导致不恰当引用计数更新缺陷, 使得资源永远无法释放或者被提前释放. 为检测不恰当引用计数更新缺陷, 现有静态检测方法通常需要知道哪些函数增加引用计数, 哪些函数减少引用计数. 而手动获取这些关于引用计数的先验知识过于费时且可能有遗漏. 基于挖掘的缺陷检测方法虽然可以减少对先验知识的依赖, 但难以有效检测像不恰当引用计数更新缺陷这类路径敏感的缺陷. 为此, 提出一个将数据挖掘技术和静态分析技术深度融合的不恰当引用计数更新缺陷检测方法RTDMiner. 首先, 根据引用计数的通用规律, 利用数据挖掘技术从大规模代码中自动识别增加或减少引用计数的函数. 然后, 采用路径敏感的静态分析方法检测增加了引用计数但没有减少引用计数的缺陷路径. 为了降低误报, 在检测阶段再次利用数据挖掘技术来识别例外模式. 在Linux内核上的实验结果表明, 所提方法能够以将近90%的准确率自动识别增加或减少引用计数的函数. 而且RTDMiner检测到的排行靠前的50个疑似缺陷中已经有24个被内核维护人员确认为真实缺陷.

来源:2023年第10期

《软件学报》期刊编辑部

查看软件学报杂志2023年第10期

联系我们

  • 地址:北京8718信箱
  • 电话:010-62562563
  • E-mail:jos (a) iscas. ac. cn

咨询工作人员