团队通常会部署自动化静态分析工具来实施某种内部编码策略。这种策略一般源于正式确定编码惯例和最佳实践的文档,并有专属的问题分类及严重度划分。

在大多数情况下,静态分析工具中的编码策略最直接的实现使用的是本文档中已经包含的规则描述和 ID,因为该文档已由多个开发小组完成审查。C/C++test 提供了简单的工具来自定义规则 ID 和名称以及创建新的规则类别,以使实际部署的规则与编码策略文档的内容完全匹配。

这种映射是通过规则映射文件完成的。规则映射文件可以在本地使用以及导入/导出。

DTP 规则映射

如果您使用存储在 DTP 上的测试配置,请参阅 DTP 用户指南中的“规则映射”部分,了解有关管理、自定义和应用规则映射的详细信息。

章节目录:

指定规则映射

指定规则映射的步骤:

  1. 选择 Parasoft> 测试配置,打开测试配置对话框。
  2. 选择任一测试配置分类。
  3. 打开静态> 规则树选项卡。
  4. 点击编辑 Rulemap
  5. 在打开的编辑 Rulemap 文件对话框中输入规则映射。
    • 若要更改规则 ID、名称和/或严重度,请完成以下内容:规则选项卡中添加一个条目。映射条目定义一个规则映射,该规则映射可以更改指定的内置规则的分类 ID、名称和/或严重度。在原来的 ID 列中使用“分类-ID”的格式(例如,SECURITY-01)输入当前规则 ID,然后在相应的列中输入所需的更改。

      • 如果希望更改规则 ID,可在映射的 ID 列输入所需规则 ID。
      • 如果希望更改严重度,可从严重度列下拉菜单中选择。
      • 如果希望更改规则名称,可在标题列中输入所需名称。

        更改规则 ID 时,将自动创建一个新分类。必须为分类选项卡中的每个新分类指定规则分类说明。否则,该规则将被添加到未知分类中。

    • 要创建规则的“克隆”(例如,创建参数化规则的不同版本):克隆选项卡中添加一个条目。克隆规则对于将单个规则实例映射到多个规则 ID 非常有用。  在原来的 ID 列中输入当前规则 ID(例如,BD.MISC-TRANS),然后在克隆的 ID 列中输入所需的克隆规则 ID(例如,ACME-TRANS),并/或从严重度列下拉菜单中选择所需的克隆严重度。请注意,克隆仅适用于无法在 RuleWizard 中编辑的规则,如流分析规则。如果要复制可以在 RuleWizard 中编辑的规则,请采用使用 RuleWizard 自定义规则中描述的方法。

    • 添加新规则分类的步骤:分类选项卡中添加一个条目。在分类 ID 列中输入一个新的分类 ID,然后在分类描述列中输入一个简短的分类描述。

在 UI 中输入规则映射后,它们将保存在“User Rule”目录下一个名为 rulemap.xml 的文本文件中,该目录在首选项面板(Parasoft> 配置页面)中指定。

如何将已有规则复制到另一个规则 ID 和/或严重度级别?

右键点击规则树中的规则,选择复制。规则树中将添加复制的规则。之后,您可以根据需要自定义复制的规则。

共享规则映射

您可以通过导出/导入的方式共享规则映射。

导出规则映射:

  1. 点击测试配置面板静态> 规则树选项卡中的编辑 Rulemap 按钮,打开 Rulemap 对话框。
  2. 点击导出按钮,然后使用文件选择器指定要将 rulemap 文件保存到哪里。

导入规则映射:

  1. 点击测试配置面板静态> 规则树选项卡中的编辑 Rulemap 按钮,打开 Rulemap 对话框。
  2. 点击导入按钮,然后使用文件选择器选择相应 rulemap 文件。
  • No labels