收藏本站
收藏 | 手机打开
二维码
手机客户端打开本文

空指针解引用静态检测方法研究

徐厚峰  
【摘要】: C语言中的指针机制使程序员可以直接访问内存地址,具有很高的灵活性。但是由于指针操作不当而引起的动态内存错误也有很多,空指针解引用就是其中的一类。这些错误的存在导致了软件质量和可靠性的下降,而且采用传统的测试方法进行检测很难奏效。 静态分析方法不需要运行程序,而是通过对程序代码的分析检查程序中隐藏的错误。本文采用静态分析技术对C程序中的空指针解引用错误进行检测。我们首先基于一种流敏感、上下文敏感的指针分析算法给出了一个表达式左值的计算方法。根据这一方法,我们可以判断任意给定的两个表达式是否为别名。 然后,结合上述流敏感、上下文敏感的别名分析,本文针对C程序中的空指针解引用错误给出了一种需求驱动的后向数据流分析算法。算法首先假设已知程序中的某处发生了空指针解引用错误,然后从该结点出发,逆着控制流的方向追踪空值的赋值过程,最终通过错误表达式集合是否为空来判断初始结点处是否发生了错误。我们根据这一过程构造后向的数据流分析方程,最后通过不动点计算理论计算数据流方程的解。在求解过程中,本文使用传统的worklist算法框架对不动点进行迭代计算。 我们在SUIF2编译平台上实现了这一算法,并对一些C程序进行了分析,实验结果表明算法具有较高的检测精度。


知网文化
【相似文献】
中国期刊全文数据库 前20条
1 孙洪浩;王树义;林晓斌;王晓飞;;过程间指针分析算法的改进[J];计算机工程;2009年01期
2 汪小飞;赵克佳;田祖伟;;数据流分析的关键技术研究[J];计算机科学;2005年12期
3 丁斌;张志祥;;C语言的别名分析方法研究[J];计算机与数字工程;2011年02期
4 唐发根,钱红兵;Ada软件数据流分析方法及其实现[J];北京航空航天大学学报;1997年01期
5 孔亦南;黄林鹏;;应用数据流分析法求解程序运行时信息相关问题的研究[J];计算机应用与软件;2007年02期
6 罗昕,郭福顺,王晓丽;一种全局数据流分析的新方法[J];小型微型计算机系统;1993年06期
7 唐发根,姚淑珍;基于静态分析的Ada数据流分析方法[J];电子计算机与外部设备;1997年01期
8 钟洪涛,舒继武,温冬婵,郑纬民;基于区域图数据流分析的通信优化算法[J];软件学报;2003年02期
9 肖夏;高校学生宿舍管理系统的设计[J];福建电脑;2004年06期
10 陈蕊;张广梅;李晓维;;程序中不可达路径的检测方法[J];计算机工程;2006年16期
11 刘学军;徐宏炳;董逸生;钱江波;王永利;;基于最大频繁项集信息熵的数据流变化检测[J];应用科学学报;2006年05期
12 李晓新;李婷;;资源驱动与需求驱动下的公共图书馆发展——针对天津滨海新区的实证研究[J];图书馆;2008年06期
13 李慧贤,刘坚;数据流分析方法[J];计算机工程与应用;2003年13期
14 丘威;基于需求驱动的XML课件系统模型应用研究[J];上饶师范学院学报;2003年06期
15 梁洪波;慕晓冬;帅桂华;常瑞花;;基于VC++的数据流分析方法[J];微型电脑应用;2008年04期
16 康旗 ,王敏;供应导向酿成电信资源过剩需求驱动促进电信产业前行[J];通讯世界;2003年03期
17 张超;张树生;周竞涛;赵寒;;需求驱动的语义模型构建方法研究[J];计算机应用研究;2006年11期
18 谢亿鑫;孙乐昌;刘京菊;;基于数据流分析的SQL注入漏洞发现技术研究[J];微计算机信息;2010年15期
19 周铨兴,刘年宝;雷达中的分布式计算机系统[J];上海航天;1999年02期
20 黄波,臧斌宇,朱传琪;从变量的初始化中获取指针指向信息[J];计算机研究与发展;2000年02期
中国重要会议论文全文数据库 前10条
1 戴尅戎;;从跌倒的预防看需求驱动型转化研究(摘要)[A];中国康复医学会第七次全国康复治疗学术会议主题报告、学术交流论文汇编[C];2010年
2 罗松涛;唐常杰;段磊;钟义啸;乔少杰;贠莹辉;;基于基因表达式编程的军事史料挖掘[A];第二十二届中国数据库学术会议论文集(研究报告篇)[C];2005年
3 张广梅;陈蕊;李晓维;;面向软件故障检测的数据流分析[A];全国第13届计算机辅助设计与图形学(CAD/CG)学术会议论文集[C];2004年
4 苗高杉;李红燕;;基于模式特征保持的数据流降载方法[A];NDBC2010第27届中国数据库学术会议论文集(B辑)[C];2010年
5 张艳;;新时期公益性地质工作的定位和发展方向[A];中国地质矿产经济学会青年分会2006年学术交流论文汇编[C];2006年
6 段磊;唐常杰;左劼;陈宇;钟义啸;元昌安;;基于基因表达式编程的抗噪声数据的函数挖掘方法[A];第二十一届中国数据库学术会议论文集(研究报告篇)[C];2004年
7 彭军强;史明华;于鸿彬;;客户需求驱动的机械产品个性化定制系统研究[A];全国先进制造技术高层论坛暨第九届制造业自动化与信息化技术研讨会论文集[C];2010年
8 江雷;朱建平;;基于静态分析的软件安全检测技术研究[A];全国计算机安全学术交流会论文集(第二十四卷)[C];2009年
9 禹诚;;基于UG的产品参数化设计方法[A];2003年11省区市机械工程学会学术会议论文集[C];2003年
10 贾波;邹园萍;;基于无监督学习的P2P流量识别[A];浙江省信号处理学会2011学术年会论文集[C];2011年
中国博士学位论文全文数据库 前10条
1 马晓东;C程序内存错误静态分析技术研究[D];国防科学技术大学;2009年
2 戴若夷;面向大规模定制的广义需求建模方法与实现技术的研究及应用[D];浙江大学;2004年
3 范永开;基于需求驱动的虚拟仪器软件自动生成研究[D];吉林大学;2006年
4 姚剑波;基于句法分析的安全信息流[D];贵州大学;2006年
5 程绍银;需求驱动的软件安全缺陷自动测试生成[D];中国科学技术大学;2009年
6 万仁霞;数据流聚类算法研究[D];东华大学;2010年
7 郭熙铜;基于数据流视角的商业流程整合研究[D];中国科学技术大学;2010年
8 李根;基于动态测试用例生成的二进制软件缺陷自动发掘技术研究[D];国防科学技术大学;2010年
9 姜淑娟;异常传播分析技术及其应用研究[D];东南大学;2006年
10 夏一民;缓冲区溢出漏洞的静态检测方法研究[D];国防科学技术大学;2007年
中国硕士学位论文全文数据库 前10条
1 徐厚峰;空指针解引用静态检测方法研究[D];国防科学技术大学;2008年
2 刘钦;基于可比较语料库双语多词表达式对抽取[D];大连理工大学;2011年
3 李平华;过程间数据流分析技术研究[D];东南大学;2004年
4 周有银;汽车数据流分析与应用研究[D];长安大学;2010年
5 余新待;C/C++程序安全检查工具中数据流分析器的设计与实现[D];西安电子科技大学;2010年
6 孙洪浩;基于切片技术的软件理解辅助系统设计与实现[D];大连理工大学;2007年
7 周丽丽;学习表达式的映射机制研究[D];苏州大学;2011年
8 杨赛美;一种基于P2P行为特征的识别与研究[D];云南大学;2012年
9 邬桐;中文时间表达式识别研究[D];复旦大学;2010年
10 郭礼飞;客户需求驱动下机电产品维护方法及知识表达研究[D];重庆大学;2011年
中国重要报纸全文数据库 前10条
1 张平淡;市场需求驱动价值链竞争[N];电脑商报;2004年
2 杨英杰;中国农业出路何在:城市化与工业化需求驱动[N];上海证券报;2006年
3 许;供应链转向需求驱动[N];计算机世界;2006年
4 本报记者 毛江华;用户需求驱动 思科商业市场布新局[N];计算机世界;2005年
5 黄宇;中国需求驱动未来铝市前景看好[N];证券时报;2007年
6 李建伟;效率先导与需求驱动并举[N];中国石油报;2008年
7 PeopleSoft全球汽车行业总监 Richard Scott;IT系统如何应变?[N];计算机世界;2004年
8 本报记者 徐国杰;泰信基金认为 明年需求驱动将成投资主线[N];中国证券报;2009年
9 本报记者 陈捷;需求驱动价格新高 锡金属跃升大宗商品“新星”[N];21世纪经济报道;2010年
10 朝阳;四大需求驱动丙烯酸市场发展[N];中国高新技术产业导报;2004年
中国知网广告投放
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62982499
  • 010-62783978