-
题名一种场景敏感的高效错误检测方法
被引量:2
- 1
-
-
作者
衷璐洁
霍玮
李龙
李丰
冯晓兵
张兆庆
-
机构
中国科学院计算技术研究所计算机体系结构国家重点实验室
首都师范大学信息工程学院
中国科学院大学
中国科学院信息工程研究所第五研究室
-
出处
《软件学报》
EI
CSCD
北大核心
2014年第3期472-488,共17页
-
基金
国家自然科学基金(61100011
61202055
+2 种基金
61303053)
国家自然科学基金创新研究群体科学基金(60921002)
国家高技术研究发展计划(863)(2012AA010901)
-
文摘
定值-引用类错误是一类非常重要且常见的错误.当前,对这类错误的检测很难同时达到高精度和高可扩展性.通过合理组合敏感和不敏感的检测方法并控制两类方法的实施范围,可以同时达到高检测精度和高可扩展性.提出一种新颖的场景敏感的检测方法,该方法根据触发状态对潜在错误语句分类,识别不同类别语句的触发场景并实施不同开销的检测,在不降低精度的同时最小化检测开销.设计了一个多项式时间复杂度的流敏感、域敏感和上下文敏感的场景分析以进行分类,并基于程序依赖信息识别触发场景,仅对必要的触发场景实施路径敏感的检测.为上述方法实现了一种原型系统——Minerva.通过使用空指针引用错误检测为实例研究以及总代码规模超过290万行,最大单个应用超过200万行的应用验证,用例实验结果表明,Minerva的平均检测时间比当前先进水平的路径敏感检测工具Clang-sa和Saturn分别快3倍和46倍.而Minerva的误报率仅为24%,是Clang-sa和Saturn误报率的1/3左右,并且Minerva未发现漏报已知错误.上述数据表明,所提出的场景敏感的错误检测方法可同时获得高可扩展性和高检测精度.
-
关键词
定值-引用错误
路径敏感错误检测
错误目标触发场景
场景敏感
程序分析
-
Keywords
def-use fault
fault detection
sink triggering scene
scene-sensitive
program analysis
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-