程序的静态测试之源程序静态分析

发表于:2009-04-23来源:作者:点击数: 标签:程序静态分析
通常采用以下一些方法进行源程序的静态分析。 ① 生成各种引用表 直接从表中查出说明/使用错误等。如,循环层次表、变量交叉引用表、标号交叉引用表等。 为用户提供辅助信息。如,子程序(宏、函数)引用表、等价(变量、标号)表、常数表等。 用来做错误预测和程
通常采用以下一些方法进行源程序的静态分析。

  ① 生成各种引用表

  直接从表中查出说明/使用错误等。如,循环层次表、变量交叉引用表、标号交叉引用表等。

  为用户提供辅助信息。如,子程序(宏、函数)引用表、等价(变量、标号)表、常数表等。

  用来做错误预测和程序复杂度计算。如,操作符和操作数的统计表等。

  ② 静态错误分析

  静态错误分析主要用于确定在源程序中是否有某类错误或“危险”结构。

  类型和单位分析:为了强化对源程序中数据类型的检查,发现在数据类型上的错误和单位上的不一致性,在程序设计语言中扩充了一些结构。如单位分析要求使用一种预处理器,它能够通过使用一般的组合/消去规则,确定表达式的单位。

  引用分析:最广泛使用的静态错误分析方法就是发现引用异常。如果沿着程序的控制路径,变量在赋值以前被引用,或变量在赋值以后未被引用,这时就发生了引用异常。为了检测引用异常,需要检查通过程序的每一条路径。也可以建立引用异常的探测工具。

  表达式分析:对表达式进行分析,以发现和纠正在表达式中出现的错误。包括:在表达式中不正确地使用了括号造成错误。数组下标越界造成错误。除式为零造成错误。对负数开平方,或对π求正切值造成错误。以及对浮点数计算的误差进行检查。

  接口分析:关于接口的静态错误分析主要检查过程、函数过程之间接口的一致性。因此要检查形参与实参在类型、数量、维数、顺序、使用上的一致性;检查全局变量和公共数据区在使用上的一致性。

 

原文转自:http://www.ltesting.net