什么是静态分析?
LDRA Testbed的静态分析功能确保项目实行统一的编程标准,软件结构化、复杂性和其他质量属性由可配置的质量模型所控制。静态分析也能发现大量的软件缺陷。
好处是什么?
- 更好地了解系统
- 坚持质量标准
- 识别和消除不必要和未使用的代码
- 判定和报告系统的复杂性
- 完全自动化分析,节省时间
何时会使用静态分析?
静态分析是软件文档自动生成的主要信息来源。它为每个函数生成重要的控制流信息和函数之间的调用信息。工具能准确的分析函数的接口信息,识别循环结构,产生复杂性度量的结果。
LDRA Testbed的静态分析功能满足安全苛刻性代码的分析,许多权威人士认为,静态分析是安全苛刻性代码唯一必须的分析方法。另外一些权威人士也认为它是完整动态分析动能强有力的补充。
会产生什么样的分析结果?
LDRA Testbed提供下列静态分析功能:
编程标准验证。 评估源代码是否符合用户配置的编程标准集合。
结构化编程验证。 报告源代码是否结构化。
复杂性度量。 报告许多复杂性度量元,例如圈复杂度量,结点度量,基本圈复杂度量,基本结点度量等。
变量交叉索引分析。 贯穿程序和文件边界检查和报告全局和局部变量的使用。
不可达代码分析。 报告冗余的代码区域。
静态数据流分析。 列出源代码中的变量并且报告任何异常的使用。
信息流分析。 分析代码中所有路径下变量之间的依赖关系。
循环分析。 报告代码中的循环结构和嵌套深度。
递归函数分析。 上面所有的分析都是独立执行的,并且也执行在互相递归调用的函数集上。
函数接口分析。 为发现代码缺陷和不足分析每个函数的接口。 然后通过系统调用图映射接口信息,目的是为了关注集成后可能产生的缺陷。
|