没有合适的资源?快使用搜索试试~ 我知道了~
首页属性可靠分析提升C程序空指针引用缺陷检测
属性可靠分析提升C程序空指针引用缺陷检测
需积分: 0 3 下载量 189 浏览量
更新于2024-09-06
收藏 552KB PDF 举报
本文主要探讨的是"基于属性可靠分析的空指针引用缺陷检测"这一研究领域。论文关注于在C程序中提高空指针引用缺陷的检测效率和准确性,这是一个关键的软件质量保证问题。空指针引用缺陷,作为最常见的代码级缺陷之一,可能导致程序运行异常或崩溃,严重影响软件的稳定性和可靠性。 作者首先概述了空指针引用缺陷的普遍性及其潜在的危害,指出它涉及访问不安全的内存地址,当运行时遇到这类缺陷,软件通常会遭受严重后果。静态分析技术作为一种有效的检测手段,已经有一些方法,如PSE算法和基于指针别名的检测,用于识别这类问题。然而,现有的方法在处理复杂数据类型和结构体指针时可能存在局限性,比如需求驱动策略无法完全分析结构体指针,反例导向的抽象精化方法对复杂数据处理不够精确。 为了克服这些问题,论文提出了一种创新的检测方法——基于属性可靠分析。这种方法首先定义了空指针引用的特征和模式,然后构建了一个属性格来描述指针的指向属性。通过抽象内存模型,作者设计了一种机制,能够根据程序语句的执行动态分析指针指向属性,从而更准确地识别空指针引用。这种方法的优势在于能够在保持效率的同时,减少漏报和误报的可能性,特别是在处理复杂数据类型时。 董玉坤博士,来自中国石油大学(华东)计算机与通信工程学院,针对这一挑战进行了深入研究。论文发表于2016年的《计算机工程与应用》期刊,详细阐述了该方法的实施步骤和在五个实际工程中的检测效果。实验结果显示,该基于属性可靠分析的空指针引用缺陷检测方法在充分检测C程序缺陷方面表现出色,为软件开发中的缺陷预防和修复提供了新的思路和技术支持。这篇论文对于提升C程序的健壮性和安全性具有重要的理论和实践价值。
资源详情
资源推荐
2016,52(22)
1 引言
软件中的缺陷难以避免,最典型的软件缺陷是代码
级缺陷,这些缺陷造成软件品质的下降,并可能产生软件
故障。其中空指针引用是最具有代表性的一类缺陷,表
现为访问了不安全的内存地址。当软件运行时,如果空
指针引用缺陷一旦变为事实必然导致软件故障,软件将
运行异常或被迫强行退出,这将带来意想不到的后果。
静态分析技术可以有效地检测代码级缺陷,目前已
有一些方法与工具实现了对空指针引用缺陷的检测
[1-8]
。
PSE 算法
[1]
是一种针对空指针引用检测的算法,该算法
采用流不敏感的别名分析和后向的数据流分析,根据分
析结果检测空指针引用。文献[2]提出了一种基于指针
别名进行空指针引用的检测方法。M.Buss
[3]
提出的方
法通过对指针赋值建模,用赋值获取图表示指针间的指
向关系,并基于函数摘要进行过程间空指针引用缺陷的
检测。国内也有一些相关研究
[5-8]
,文献[5]采取了需求
驱动的策略,从指针引用点逆向地通过值依赖图判定是
否将空指针传递给被引用指针,虽然考虑了指针别名,
但不能分析结构体指针。文献[6]采取了基于反例制导
抽象精化的方法,但对复杂数据类型与复杂数据结构的
处理不够。
空指针引用检测的方法具有效率高,能够准确定位
缺陷发生的位置等优点,检测的精度依赖数据流迭代算
法。但因为静态分析技术本身的局限,数据流分析结果
不可能既是完备的又是可靠的,这将导致缺陷检测存在
漏报或误报。目前的大部分静态分析方法及工具难以
实现空指针引用缺陷检测的零漏报,主要是因为 C 程序
包含结构体、数组等复杂数据类型,可寻址表达式间可
基于属性可靠分析的空指针引用缺陷检测
董玉坤
DO NG Yukun
中国石油大学(华东) 计算机与通信工程学院,山东 青岛 266580
College of Computer and Communication Engine ering, China University of Petroleum, Qingdao, Shandong 266580, China
DONG Yukun. Null pointer dereference defects dete ction based on property sound a nalysis. Co mputer Engineering
and Applicatio ns, 2016, 52(22):9-14.
Abstract:In order to fully detect null pointer dereference defects for C pr ocedures based on static analysis, this paper
introduces a method based on property sound analysis. Firstly, defect pattern and feature of null pointer de reference ar e
introduced. Then, the property sound analysis theory is proposed to detect null pointer dereference defects, and the poi nt
property of poi nters is abs tracted as attribute lattice. Throug h an abstract memory model and transfer function of each
kind of statement, point-to property of each pointer can be get soundly, and null pointer der eference defects detection
can be reali zed based on the point-to pro perty of each referenced pointer. Experiment results of five real projects show
that this method can fully detect null pointer dereference defects.
Key words:defect detection; defect pattern; null pointer dereference; property sound analysis
摘 要:为实现基于静态分析技术充分地检测出 C 程序中的空指针引用缺陷,提出了一种基于属性可靠分析的缺陷
检测方法。首先介绍了空指针引用缺陷模式及特征。然后针对空指针引用缺陷的检测特点提出了属性可靠分析理
论,并将指针的指向属性描述为一个属性格。通过提出的抽象内存模型,基于给出的每种程序语句上的迁移实现指
针指向属性的可靠分析,根据得到的每个被引用指针的指向属性进而实现空指针引用缺陷的检测。通过对五个实
际工程的检测结果分析表明,方法可充分检测出 C 程序的空指针引用缺陷。
关键词:缺陷检测;缺陷模式;空指针引用;属性可靠分析
文献标志码:A 中图分类号:TP311.5 doi:10.3778/j.issn.1002- 8331.1604-0140
基金项目:山东省自然科学基金(No.BS2015DX017);中央高校基本科研业务费专项资金(No.15CX02050A)。
作者简介:董玉坤(1981—),男,博士,讲师,研究领域为软件测试,程序静态分析,E-mail:dongyk@upc.ed u.cn。
收稿日期:2016-04-10 修回日期:2016-05-18 文章编号:1002-8331(2016)22-0009-06
C omputer Engineering and Applications 计算机工程与应用
9
下载后可阅读完整内容,剩余5页未读,立即下载
weixin_38744270
- 粉丝: 328
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功