收藏本站
《北京邮电大学》 2012年
收藏 | 手机打开
二维码
手机客户端打开本文

数组空指针故障的静态测试方法与实现

杨睿  
【摘要】:近年来,空指针引用故障引发的软件安全问题层出不穷,给软件开发公司及用户带来了极大的困扰,也引起了国内外对之进行故障发现的研究热潮。数组空指针故障是空指针引用故障的一种,也是程序中存在的比较常见的问题,由于它在程序中比较隐蔽,用动态测试方法耗时又耗力且很难达到全面覆盖的效果。 本文提出一种基于模型检测及抽象解释理论的数组空指针故障静态测试方法。首先将数组空指针故障进行定义和分类,把它总体分为函数内和函数间的数组空指针故障,然后将数组空指针引用问题抽象为一类故障模型,并以故障模式状态机来形式化描述此类故障模型,为了支持数组空指针故障发现对数组类经典区间域进行了扩展,并通过函数摘要的生成传递与使用支持数组空指针故障的全局分析与检测,最后根据故障状态机的创建条件及待检测代码的语义信息确定是否创建该类型的状态机,并将创建的状态机实例置于控制流图入口节点,根据数据流分析的结果对故障状态进行迭代以检测数组空指针故障。 本文提出的方法已在DTSJava (Defects Testing System for Java, Java缺陷检测系统)中应用实现。文章实验部分通过使用未实现本文方法的DTSJava5.0版本与实现了本文方法的DTSJava6.0版的对比以及使用DTSJava6.0与Findbugs, Klockwork K8的实验数据对比,阐明本法的实用和有效性。
【学位授予单位】:北京邮电大学
【学位级别】:硕士
【学位授予年份】:2012
【分类号】:TP311.53

【共引文献】
中国期刊全文数据库 前10条
1 汪小寒;项响琴;陈洁;;燃料管理与智能分析网络系统设计与实现[J];安徽教育学院学报;2006年03期
2 郭凌;软件生命周期模型及其在MIS开发中的应用[J];中国煤炭经济学院学报;1999年02期
3 王保升,郝洪艳;瓦楞纸箱辅助决策和设计系统的开发[J];包装工程;2005年04期
4 李念峰;;《计算机组成原理》网络考试系统研究[J];长春大学学报;2006年02期
5 牛丽;;基于UML的ERP开发方法研究[J];长春大学学报;2006年02期
6 李春英;;基于ASP.NET的科研信息管理系统开发[J];重庆工学院学报(自然科学版);2007年01期
7 任金梅;;管理信息系统(MIS)的现状、开发分析[J];太原城市职业技术学院学报;2006年03期
8 李晓波;浅谈软件工程及其开发模式[J];昌潍师专学报;2001年02期
9 何广军,胡山泉;用UML进行系统需求分析研究[J];郴州师范高等专科学校学报;2003年05期
10 张世庆;结构化程序设计与面向对象[J];丹东纺专学报;2003年03期
中国重要会议论文全文数据库 前2条
1 杨俊峰;宋剑;李丹宁;李丹;李静;;企业信息检索的可信性评估研究[A];2008'中国信息技术与应用学术论坛论文集(一)[C];2008年
2 刘先进;;基于面向对象的银行应用前置系统架构设计[A];全国第十五届计算机科学与技术应用学术会议论文集[C];2003年
中国博士学位论文全文数据库 前4条
1 刘军;面向并行工程的CAPP关键技术的研究与实现[D];南京航空航天大学;2001年
2 朱建江;基于软件构件的软件复用的研究[D];南京航空航天大学;2002年
3 赵瑞莲;软件测试方法研究[D];中国科学院研究生院(计算技术研究所);2001年
4 张瑞军;基于信息链的智能信息处理关键技术研究[D];武汉理工大学;2007年
中国硕士学位论文全文数据库 前10条
1 冀佩刚;程序静态分析研究[D];兰州大学;2006年
2 陈元海;大型MIS系统开发实施方法及工程化管理研究[D];铁道部科学研究院;2000年
3 宗晓杰;农业机械化对农业发展贡献的研究[D];东北农业大学;2000年
4 左向东;适应性学习系统的教学设计[D];山东师范大学;2000年
5 孙立强;基于面向对象技术的信息系统开发[D];西安理工大学;2001年
6 仰建武;快速可换型芯注塑模CAD关键技术研究[D];华侨大学;2001年
7 钟益斌;发动机综合性能仿真系统研究[D];长安大学;2001年
8 祁学军;拖拉机作业机组仿真试验台监控系统的开发[D];中国农业大学;2001年
9 濮琳;汽车覆盖件模具图档存储与通讯系统关键技术的研究[D];合肥工业大学;2001年
10 梁天杰;大型汽轮机转子热状态在线监测系统[D];华北电力大学;2001年
【二级参考文献】
中国期刊全文数据库 前2条
1 廖兴,尹俊文,蔡放;基于Java语言的抽象语法树的创建与遍历[J];长沙大学学报;2004年04期
2 孙继荣;李志蜀;王莉;殷锋;金虎;;程序切片技术在软件测试中的应用[J];计算机应用研究;2007年05期
中国硕士学位论文全文数据库 前1条
1 陈蕊;程序中不可达路径的识别及其在结构测试中的应用[D];中国科学院研究生院(计算技术研究所);2006年
【相似文献】
中国期刊全文数据库 前10条
1 雷达;曾庆凯;;基于摘要的内存泄露分析方法改进[J];计算机应用研究;2011年11期
2 曹文静;宫云战;;非法计算故障的静态测试[J];计算机辅助设计与图形学学报;2007年01期
3 ;[J];;年期
4 ;[J];;年期
5 ;[J];;年期
6 ;[J];;年期
7 ;[J];;年期
8 ;[J];;年期
9 ;[J];;年期
10 ;[J];;年期
中国重要会议论文全文数据库 前9条
1 胡成杰;宫云战;金大海;;Java语言基于函数摘要的全局分析静态测试方法[A];第六届中国测试学术会议论文集[C];2010年
2 杨绣;宫云战;金大海;;一种基于静态分析的资源泄漏检测方法[A];第三届全国软件测试会议与移动计算、栅格、智能化高级论坛论文集[C];2009年
3 祁鹏;宫云战;金大海;;面向故障的C++程序全局静态分析框架[A];第三届全国软件测试会议与移动计算、栅格、智能化高级论坛论文集[C];2009年
4 张冠楠;宫云战;金大海;;过程间的空指针引用故障静态检测方法[A];第三届全国软件测试会议与移动计算、栅格、智能化高级论坛论文集[C];2009年
5 裴志强;宫云战;金大海;;一种基于故障模式的过期资源重调用检测方法[A];第六届中国测试学术会议论文集[C];2010年
6 邹欣;宫云战;金大海;;过程间的非法计算故障静态检测方法[A];第六届中国测试学术会议论文集[C];2010年
7 孙涛;宫云战;金大海;;一种悬挂指针故障的静态检测方法[A];第六届中国测试学术会议论文集[C];2010年
8 姚欣洪;宫云战;杨朝红;;一种基于代码静态分析的缓冲区溢出检测算法[A];第六届中国测试学术会议论文集[C];2010年
9 王升宇;宁连江;陈维良;祁庭宝;郭永敏;;电磁辐射监测仪在通化矿区的应用[A];全国煤矿井下安全避险及瓦斯治理技术理论与实践[C];2011年
中国博士学位论文全文数据库 前1条
1 赵云山;基于符号分析的静态缺陷检测技术研究[D];北京邮电大学;2012年
中国硕士学位论文全文数据库 前10条
1 胡成杰;Java语言基于函数摘要的过程间静态测试方法研究[D];北京邮电大学;2011年
2 杨睿;数组空指针故障的静态测试方法与实现[D];北京邮电大学;2012年
3 原义盈;嵌入式软件堆栈溢出的静态测试方法研究[D];北京交通大学;2011年
4 裴志强;基于缺陷模式的资源不良行为的静态检测[D];北京邮电大学;2011年
5 张冠楠;基于扩展状态机的软件缺陷检测技术的研究与实现[D];北京邮电大学;2010年
6 杨俊;基于函数摘要的二进制漏洞挖掘技术研究[D];中国科学技术大学;2011年
7 邹欣;基于函数摘要的非法计算故障检测方法的研究[D];北京邮电大学;2011年
8 孙涛;悬挂指针的静态检测方法研究[D];北京邮电大学;2011年
9 祁鹏;基于函数摘要的C++程序全局静态分析研究[D];北京邮电大学;2010年
10 孙华衿;C/C++单元自动化覆盖测试框架的研究与实现[D];北京邮电大学;2011年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62791813
  • 010-62985026