📜  软件工程中的程序分析工具

📅  最后修改于: 2022-05-13 01:57:00.037000             🧑  作者: Mango

软件工程中的程序分析工具

程序分析工具是一种自动化工具,其输入是程序的源代码或可执行代码,输出是对程序特征的观察。它给出了程序的各种特征,例如它的大小、复杂性、评论的充分性、对编程标准的遵守以及许多其他特征。

程序分析工具的分类:
程序分析工具分为两类:


1.静态程序分析工具:
静态程序分析工具是这样一种程序分析工具,它可以在不执行软件产品的情况下评估和计算软件产品的各种特性。通常,静态程序分析工具对程序的一些结构表示进行分析,以得出一定的分析结论。基本上,一些结构特性是使用静态程序分析工具进行分析的。

通常分析的结构特性有:

  1. 是否符合编码标准。
  2. 一些编程错误,例如未初始化的变量。
  3. 实际参数和形式参数不匹配。
  4. 已声明但从未使用过的变量。

代码演练和代码检查被认为是静态分析方法,但静态程序分析工具用于指定自动分析工具。因此,编译器可以被认为是一种静态程序分析工具。

2.动态程序分析工具:
动态程序分析工具是这样一种程序分析工具,需要执行程序并观察其实际行为。动态程序分析器基本上实现了代码。它在源代码中添加了额外的语句来收集程序执行的痕迹。当代码执行时,它允许我们观察软件针对不同测试用例的行为。一旦软件经过测试并观察到其行为,动态程序分析工具就会执行执行后分析并生成报告,这些报告描述了程序的完整测试过程已实现的结构覆盖率。

例如,执行后动态分析报告可以提供关于所达到的范围语句、分支和路径覆盖的数据。

动态程序分析工具的结果是直方图或饼图的形式。它描述了为程序的不同模块获得的结构覆盖率。动态程序分析工具的输出可以轻松存储和打印,并提供已完成完整测试的证据。动态分析的结果是作为白盒测试执行的测试范围。如果测试结果不令人满意,则设计更多的测试用例并将其添加到测试场景中。动态分析也有助于消除多余的测试用例。