论文部分内容阅读
由于在软件开发后期发现错误进行修改是早期发现进行修改所需成本的好多倍,在动态测试前对软件进行静态分析可以尽早的发现软件中的错误和缺陷,提高了软件的质量,从而大大提高了开发后期的评审、测试甚至维护的效率,从总体上缩短软件开发时间,降低了开发成本。 如今软件规模越来越大,软件的复杂度也越来越高,手工测试变的很困难,另外手工测试要做很多重复性的劳动,导致手工测试效率低。软件测试分为静态测试和动态测试,而静态分析是静态测试的基础。本文研究自动化的静态分析工具,能提高错误检查的效率,降低测试成本。 本文研究的自动化静态分析工具主要有三个方面的功能:一是对源代码进行规范性检查;二是对源程序的静态结构分析;三是对源程序进行代码度量。对源程序进行静态分析,首先要提取出源程序的静态信息,根据提取的静态信息,对源程序进行静态分析。提取源程序的静态信息主要有两种方式:一是开发源程序语言的静态分析器来提取信息;二是从编译源程序过程中产生的中间文件中提取源程序的静态信息。本文实现的结果是通过嵌入开源工具对源代码进行规范性检查,并建立一些最基本的规则集,能对基本的语法规则错误进行检查;对源程序静态结构分析时,主要是实现函数、变量间的调用关系,而函数内部的控制流、数据流有待实现,最后对源程序的复杂度进行统计。