-
题名基于传播引擎的指针引用错误检测
被引量:4
- 1
-
-
作者
衷璐洁
霍玮
李丰
陈聪明
冯晓兵
张兆庆
-
机构
中国科学院计算技术研究所计算机体系结构国家重点实验室
首都师范大学信息工程学院
中国科学院研究生院
-
出处
《计算机学报》
EI
CSCD
北大核心
2013年第2期432-444,共13页
-
基金
自然科学基金青年科学基金项目(61100011)
国家"九七三"重点基础研究发展规划项目基金(2011CB302504)
+2 种基金
国家"八六三"高技术研究发展计划项目基金(2012AA010901)
国家自然科学基金创新研究群体科学基金(60921002)
核高基国家重大科技专项基金项目(2011ZX01028-001-002)资助~~
-
文摘
指针在C程序中应用广泛,指针引用错误多发且危害严重.目前代表性的检测工具由于使用方便性和检测精度不足以及难以处理大规模程序等原因,并不能满足实用需求.文中提出一种新型的错误检测方法,该方法基于域敏感、流敏感和上下文敏感的传播引擎,通过定义错误属性格、在源程序中对错误属性格值进行计算和传播来完成错误检测.在开放源码编译器Open64中实现了其原型系统Propagator.以空指针引用错误检测为实例研究内容,使用Apache、OpenSSH、gzip等应用领域广泛的典型应用为实验用例.与Saturn、Splint和Clang-SA进行对比,Propagator的平均检测时间仅为12s,误报率平均仅为13%,远低于对比工具,且没有发现漏报已知错误.上述结果表明,Propagator既提高了检测精度又保证了可扩展性,具有很好的实用前景.
-
关键词
空指针引用
错误属性格
上下文敏感
静态检测
传播引擎
-
Keywords
null-pointer dereference
fault-attribute lattice
context-sensitive
static detection
propagation engine
-
分类号
TP314
[自动化与计算机技术—计算机软件与理论]
-