通常,组织会部署自动化静态分析工具来实现特定的内部编码策略。此类政策通常起源于编码规范约定和最佳实践的文档,并具有自己的问题分类及其严重性。
在大多数情况下,静态分析工具中编码策略的最干净的实现利用了本文档中已经包含的规则说明和 ID,因为它已经由开发小组审查过。C/C++test 提供了简单的工具来自定义规则 ID 和名称,以及创建新的规则类别,以便实际部署的规则与编码策略文档的内容完全匹配。
此映射是通过规则映射文件完成的。规则映射文件可以在本地使用和导入/导出,也可以通过团队服务器部署到整个用户团队。
DTP 规则映射
如果您使用存储在 DTP 上的测试配置,请参阅 DTP 用户指南中的“规则映射”部分,了解有关管理、自定义和应用规则映射的详细信息。
各节内容包括:
指定规则映射
要指定规则映射:
- 通过选择Parasoft> 测试配置,打开测试配置对话框。
- 选择任何 测试配置 类别。
- 打开 静态> 规则树 选项卡。
- 单击编辑规则图。
- 在打开的【编辑规则映射文件】对话框中输入您的规则映射。
要更改规则 ID、名称和/或严重性级别:向规则选项卡添加一个条目。映射条目定义了一个规则映射,它可以更改指定的内建规则的类别 ID、名称和/或严重性级别。在原始 ID 列中使用 CATEGORY-ID 格式(例如 SECURITY-01)输入当前规则 ID,然后在相应列中输入所需的更改。
- 如果您想要更改规则 ID,请在 映射 ID列中输入所需的规则 ID。
- 如果您想要更改规则严重性,请从严重性列下拉菜单中选择它。
如果您想要更改规则名称,请在标题列中输入所需名称。
当您更改规则 ID 时,将自动创建一个新类别。您必须在【类别】选项卡中为每个新类别指定规则类别说明,如下所述。否则,规则将被添加到 UNKNOWN 类别。
要创建规则的“克隆”(例如,创建参数化规则的不同版本):将条目添加到克隆选项卡。克隆规则可用于将单个规则实例映射到多个规则 ID。 在原始 ID 列中输入当前规则 ID(例如,BD.MISC-TRANS),然后在克隆 ID 列中输入所需的克隆规则 ID(例如,ACME-TRANS)和/或从严重性列下拉菜单中选择所需的克隆严重性级别 。请注意,克隆仅适用于无法在 RuleWizard 中编辑的规则,例如 Flow Analysis 规则。如果要复制可在 RuleWizard 中编辑的规则,请使用 使用 RuleWizard 自定义规则中描述的方法。
要添加新规则类别:将条目添加到类别选项卡。在类别 ID 列中输入新类别 ID,然后在类别说明列中输入简短的类别说明。
在 UI 中输入规则映射后,它们将保存在您在 首选项 面板(Parasoft> 配置 页面)中指定的“用户规则”目录中名为rulemap.xml
的简单文本文件中。
想要将现有规则复制到另一个规则 ID 和/或严重性级别?
右键单击规则树中的规则,然后选择复制。重复的规则将添加到规则树中。然后,您可以根据需要自定义重复规则。
共享规则映射
通过团队服务器
如果您使用团队服务器并且希望团队成员共享规则更改,则应将 rulemap.xml
文件上传到团队服务器
要将文件上传到团队服务器:
- 请参见配置用于政策的测试配置和规则 。
如果一台机器可以访问本地 rulemap.xml
文件和团队rulemap.xml
文件,则团队文件将优先于本地文件。
通过导出/导入
即使您没有团队服务器,您也可以通过导出/导入来共享规则映射。
导出规则映射:
- 单击【测试配置】面板的静态>规则树选项卡中的编辑规则映射按钮,打开【规则映射】对话框。
- 单击导出按钮,然后使用文件选择器指示要保存规则映射文件的位置。
要导入规则映射:
- 单击【测试配置】面板的静态>规则树选项卡中的编辑规则映射按钮,打开【规则映射】对话框。
- 单击 导入 按钮,然后使用文件选择器选择适当的规则映射文件。