软件静态分析自动化工具的研究与实现

来源 :西安理工大学 | 被引量 : 0次 | 上传用户:KingofPriser
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
由于在软件开发后期发现错误进行修改是早期发现进行修改所需成本的好多倍,在动态测试前对软件进行静态分析可以尽早的发现软件中的错误和缺陷,提高了软件的质量,从而大大提高了开发后期的评审、测试甚至维护的效率,从总体上缩短软件开发时间,降低了开发成本。 如今软件规模越来越大,软件的复杂度也越来越高,手工测试变的很困难,另外手工测试要做很多重复性的劳动,导致手工测试效率低。软件测试分为静态测试和动态测试,而静态分析是静态测试的基础。本文研究自动化的静态分析工具,能提高错误检查的效率,降低测试成本。 本文研究的自动化静态分析工具主要有三个方面的功能:一是对源代码进行规范性检查;二是对源程序的静态结构分析;三是对源程序进行代码度量。对源程序进行静态分析,首先要提取出源程序的静态信息,根据提取的静态信息,对源程序进行静态分析。提取源程序的静态信息主要有两种方式:一是开发源程序语言的静态分析器来提取信息;二是从编译源程序过程中产生的中间文件中提取源程序的静态信息。本文实现的结果是通过嵌入开源工具对源代码进行规范性检查,并建立一些最基本的规则集,能对基本的语法规则错误进行检查;对源程序静态结构分析时,主要是实现函数、变量间的调用关系,而函数内部的控制流、数据流有待实现,最后对源程序的复杂度进行统计。
其他文献
本文讲述了一个双内核的实时操作系统FRTOS2的设计与实现,文章主要包括两部分。第一部分讲述了FRTOS(一个实时操作系统)的体系结构、主要功能和相应实现,包括:任务管理、互斥量
IPv6已被公认为下一代互联网络协议核心标准之一。但是网络向IPv6的全面转换将持续很长一段时间,在此期间IPv6网络将不得不与IPv4网络通信与共存。IPv6/IPv4 Tunnel机制及一些
电信行业目前面临多厂商、多种设备的历史遗留问题,虽然TMN标准制定给电信设备的接口标准化提供了依据,但是TMN标准制定的相对较晚,完整的实施TMN标准也非常困难,接口的不统
元数据最普遍的定义是“关于数据的数据(data about data)”,也就是描述某一资源的结构化数据。它提供有关资源存储、资源分类、资源交换、资源访问等方面的信息,便于用户查
嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统是将先进的计算机技
虚拟人(virtual human或computer synthesized characters)是人在计算机生成空间(虚拟环境)中的几何特性与行为特性的表示[1][2]。虚拟人研究的最终目的是使虚拟人能够在任意
CMOS技术是现代计算机系统的基础。然而随着技术的逐步提高,能耗问题也面临着越来越严峻的考验。能量敏感计算正得到越来越广泛的应用,即包括以电池供电的便携式设备,也包括
交易中间件和消息中间件在金融计算平台中的应用较为广泛,它们屏蔽了底层环境的异构性和复杂性,基于这种架构的应用实现中,一个模块应该呈现其功能而隐藏其本身的实现,体现了可移
现场总线是一种开放的、具可互操作性的、彻底分散的分布式控制系统。它以卓越的性能在工业控制中越来越受到青睐。同时随着电子技术的发展,现场可编程门阵列FPGA的出现,使得
自上个世纪后期以来,数据的获取技术日益发展壮大,在数据库已有的技术之上不断的推陈出新,信息的日益膨胀改变着传统的数据提取方式。数据流逐渐成为一种主流的数据形式,如何从