CBFT(C++/C Bug Finding Tool)的设计与实现

来源 :北京邮电大学 | 被引量 : 0次 | 上传用户:xuwh0415
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件系统的普及,软件测试成为保证软件质量、提高软件可靠性的重要手段。而软件测试的工作量很大,用人工测试几乎难以胜任,在规模迅速扩大的软件系统中,实现高准确度,高效率的测试遇到的困难越来越大。因此在测试过程中引入自动化的思想逐步发展和成熟起来。在软件测试技术中,程序静态分析技术近年来成为自动化测试技术中的一个研究热点,大量的软件测试工具被研制出来从而可以自动地静态检测软件中的故障,并且在对一些大型商业软件和开源软件的测试中发现了大量的以前测试没有发现的软件故障和安全隐患。但其缺陷也随之暴露出来,如误报问题和漏报问题没有得到很好地解决等等。在基于静态分析的自动化测试方法中,寻找针对性强,工具自动化程度高,测试效率高和漏报率低的自动化测试方法,成为一个亟待解决的问题。通过对基于缺陷模式的软件测试方法的研究,在863课题支持下所开发的针对C/C++语言的CBFT工具,可以对软件的缺陷自动进行测试并记录,极大地提高软件的测试效率和软件质量,应用CBFT可大大提高软件的测试效率和软件质量,使软件在开发整体上具有时间的竞争优势。本文系统研究了针对C++,C语言的缺陷模式,提出了缺陷模式的定义和分类,并对其中的漏洞模式进行了详细的总结和定义。同时,本文在调研国内外自动化静态分析工具的基础上,深入研究开源工具JAVACC,借鉴其设计思想,结合访问者模式独立设计并实现了自动化测试工具CBFT的统一测试框架部分,完成了抽象语法树、控制流图和符号表的生成,此测试框架可以对C++,C语言进行自动化测试,相比于以往检测方法,降低了测试误报率和漏报率,对于软件测试具有重要的意义。
其他文献
随着Web应用的快速发展,Web数据挖掘成为数据挖掘的热点之一,根据Web挖掘的目的和数据对象的不同,web数据挖掘可以分为Web内容挖掘、Web结构挖掘、Web日志挖掘。Web日志挖掘是对
学位
短文本分类问题是基于短文本应用领域的必须解决的具有挑战性的基础性关键问题之一。由于短文本具有长度短、所描述概念信号弱的固有缺陷,短文本分类的可行途径是利用外部资
学位
基因组中的Motif预测算法研究结合了生物学、应用数学、计算机等学科领域,是当前生物信息学研究的一个热点。本文在研究Motif预测算法基础上,针对海量生物基因组数据库的查询搜
学位
主动轮廓线模型(Snake)是一种有效的复杂轮廓提取及图像解释方法,它通过不断地极小化自身的能量函数来达到定位物体边界的目的。但是,传统的Snake模型及其应用仍存在一些问题,如
学位
图像分割是图像识别与理解中的关键步骤之一,图像分割质量的好坏将直接影响图像识别与理解的结果。近年来,在图像处理和计算机视觉领域中,符合人眼视觉模型的多分辨率技术日
学位
随着计算机技术、多媒体技术及Internet的迅速发展,基于内容的图像检索成为多媒体领域最活跃的研究热点之一。它结合人工智能、计算机视觉、模式识别、心理学等研究领域,通过对
学位
随着数字电视的普及,数字电视网上的非法复制和侵权行为越来越严重。据国际知识产权联盟(IIPA)2006年的统计数据显示,90%以上的盗版是通过对终端接口解密以后的数据进行拷贝和录
随着计算机网络和Internet的迅猛发展,运用先进的管理信息系统(MIS)及软件开发平台,对信息进行科学化和网络化管理,已经成为高校信息系统的发展趋势。学科建设是高等学校发展
2000年以来,在人类、水稻等重要生物基因组草图相继完成和信息技术发展不断推动下,生物信息学研究进入了崭新的后基因组时代。基因组信息爆炸式增长、研究工具不断涌现、研究
学位
随着新型嵌入式芯片层出不穷,相应的高级语言汇编器是必不可少的。然而,汇编器的复杂性决定了不可能在短时间内重新为一款新型芯片开发出高级语言汇编器。因此,不断出现的新
学位