主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

检查项激活文件 (-checkers-activation-file)

激活自定义的缺陷和编码规则组合,以进行 Polyspace Bug Finder 分析

自 R2021a 起

描述

指定激活文件 (.XML) 或编码标准文件 (.pschk) 的完整路径,您可以在其中定义 Polyspace® Bug Finder™ 缺陷和编码标准检查项的自定义组合。

设置选项

用户界面(仅限桌面端产品):此选项在用户界面中无法直接使用。在其他字段中输入命令行选项 -checkers-activation-file。请参阅其他

用户界面(Polyspace 平台):在工程配置中,该选项位于缺陷和编码标准选项卡中。

命令行和选项文件:请使用 -checkers-activation-file 选项。请参阅命令行信息

为何使用此选项

此选项允许您:

  • 在可重复使用的 .XML 文件中创建自定义的 Polyspace Bug Finder 缺陷和编码规则选择。

  • 检查用户定义的编码规范是否在可重用的 .pschk 文件中被违反。

您可以在多个工程中重用文件,或与多个用户共享文件,以在整个团队或组织中维护一套通用的规则。

设置

默认的 Polyspace Bug Finder 分析会报告一组特定的缺陷,不会报告任何编码违规。要激活包括缺陷和编码规则在内的自定义检查项集,请使用检查项激活文件或用户定义的编码标准。

您可以通过以下方式之一创建该选项的输入文件:

如果您已有文件,则将该文件作为此选项的输入:

  • 如果您使用“检查项”选择接口,请浏览到该文件,然后点击完成

  • 如果您使用命令行工作流,请将文件的完整路径指定为 -checkers-activation-file 的输入。

依赖关系

要在 Polyspace 平台用户界面中使用此选项,必须将选项使用文件设置检查项设置为 ()。

示例

使用检查项选择接口创建检查项激活文件

使用“检查项”选择接口创建检查项激活文件。该文件是 Bug Finder 缺陷和编码规则的可重用选择,可作为 Bug Finder 分析中的 -checkers-activation-file 选项的输入。

  1. 打开检查项选择接口。您可以通过以下几种方式打开此接口:

    • 如果您使用的是 Polyspace 平台用户界面,请在缺陷和编码标准选项卡中选择使用自定义检查项文件。然后,点击 。检查项选择窗口打开。

    • 如果您将 Polyspace 作为 IDE 的 You Code 插件使用,则可以从 IDE 打开检查项选择接口。请参阅在 Polyspace as You Code 中设置检查项

    • 如果您使用命令行工作流,则在命令行中输入:

      polyspace-checkers-selection
      或者,导航至 polyspaceroot\polyspace\bin 并运行二进制文件 polyspace-checkers-selection。其中,polyspaceroot 是 Polyspace 产品的根安装文件夹,例如 C:\Program Files\Polyspace Server\R2025a

  2. 在“检查项”选择接口中,选择新建。选择要启用的缺陷检查项和编码规则。点击保存更改将您的选择保存为 XML 文件,例如 checkers.xml

  3. 运行 Bug Finder 分析时,将此 XML 文件指定为选项 -checkers-activation-file 的参量。

    polyspace-bug-finder-access -sources src.c -checkers-activation-file checkers.xml

在文本编辑器中更新检查项激活文件

在某些情况下,您可能无法访问“检查项选择”UI。例如,您可能在无头终端中使用 Polyspace。在这种情况下,使用 polyspaceroot\polyspace\examples\doc_cxx\checkers_activation_XML 中的模板文件创建检查项激活 XML 文件。

要从编码标准之一激活 Bug Finder 缺陷或检查项,请制作相应模板的可写副本。通过查找具有正确的 check id 属性的节点来定位检查项。将 state 属性设置为 "on" 以激活检查项。

或者,要创建一个自定义 XML 以激活各种编码标准和 Bug Finder 缺陷,请将相应的编码标准和缺陷模板中的相关条目复制到 polyspaceserverroot\polyspace\examples\doc_cxx\checkers_activation_XML 中的 blank.xml 模板中。激活 Bug Finder 缺陷 DATA_RACE 和 CERT C 编码规则 CON01-C 的检查项激活 XML 文件与以下示例相似:

<?xml version="1.0" encoding="UTF-8"?>
<polyspace_checkers_selection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="selection_schema.xsd" revision="2.0">
  <standard name="Bug Finder Findings">
      <section name="Concurrency">
		<check id="DATA_RACE" state="on"/>
      </section>
  </standard>
  
  <standard name="SEI CERT C">
      <section name="Concurrency (CON)">
		<check id="CON01-C" state="on"/>
      </section>
    </standard>
</polyspace_checkers_selection>

有关编码规则检查 ID、缺陷检查项简短名称和部分名称的完整列表,请参阅:

注意

在以后的版本中,检查项配置文件的 XML 格式可能会有所变化。

提示

  • 选项 -checkers-activation-file 是类似选项按文件设置检查项 (-checkers-selection-file) 的改进版本。改进内容如下:

    • 选项 -checkers-activation-file 足以指定检查项并将其启用。选项 -checkers-selection-file 仅指定使用检查项选择文件进行分析的一组检查项。您必须使用编码标准选项(例如 -misra3-autosar-cpp14)中的值 from-file 单独启用它们。

    • 选项 -checkers-activation-file 启用缺陷和编码标准检查项。选项 -checkers-selection-file 仅涵盖编码标准检查项。要指定和启用缺陷检查项,您必须使用选项 -checkers 并用逗号分隔缺陷检查项名称。

    两个选项 -checkers-activation-file-checkers-selection-file 都需要一个包含检查项规格的 XML 文件作为参量。XML 文件具有相同的格式,唯一的区别在于 -checkers-activation-file 除了启用编码标准检查项之外,还启用了缺陷检查项。-checkers-activation-file 的 XML 文件具有以下附加元素:

    <standard name="Bug Finder Findings">
       <section name="Numerical">
          <check name="INT_ZERO_DIV" state="on">
          <check name="INT_CONV_OVFL" state="on">
           ...
       </section>
    </standard>

  • 如果您将生成的 XML 与选项 -checkers-selection-file 和选项 -checkers-activation-file 一起使用,Polyspace 会将提供的 XML 转换为正确的格式,并发出警告。

  • 如果您使用的是由旧版本的 Polyspace 生成的激活文件,则之前未实现的检查项可能会被实现。如果 XML 文件将已实现的检查项列为 'notimplemented',Polyspace 会发出警告。

  • 如果您在 IDE 中使用 Polyspace 作为代码扩展,则此选项通过 IDE 扩展设置实现。您无需显式使用此选项。如果要显式使用此选项,请在分析选项文件中输入该选项。请参阅选项文件

  • 您可以在注释接口的检查项选择列中输入特定文本,将已激活的检查项分类为自定义子集。在审查结果时,Polyspace 会显示您在结果详细信息窗格和结果列表详细信息列中输入的文本(如果可用)。然后,您可以根据输入的文本将结果排序到所需的子集中。例如,假设您要将某些检查项指定为 Mandatory。在检查项选择接口的注释列中输入文本 Mandatory。在代码审查过程中,您可以通过在结果列表中按注释对结果进行排序,来隔离 Mandatory 检查项。

    注意

    以下各项中会省略您在检查项选择界面中输入的自定义文本:

    • 生成的报告。

    • 在桌面端界面中打开 Polyspace Access™ 的结果时,将显示 Polyspace 桌面端界面。此限制仅适用于 Bug Finder 检查项。

命令行信息

参数:-checkers-activation-file
值:检查项激活路径 (.XML) 文件或用户定义的编码标准 (.pschk) 文件。您可以指定绝对路径或相对于运行 polyspace-bug-finder 命令的位置的相对路径。
无默认值
示例(Bug Finder): polyspace-bug-finder -sources src.c -checkers-activation-file checkers.xml
示例(Bug Finder): polyspace-bug-finder -sources src.c -checkers-activation-file myStandard.pschk
示例(Bug Finder 服务器): polyspace-bug-finder-server -sources src.c -checkers-activation-file checkers.xml
示例(Bug Finder 服务器): polyspace-bug-finder-server -sources src.c -checkers-activation-file myStandard.pschk
示例(Polyspace as You Code): polyspace-bug-finder-access -sources src.c -checkers-activation-file checkers.xml
示例(Polyspace as You Code): polyspace-bug-finder-access -sources src.c -checkers-activation-file myStandard.pschk

版本历史记录

在 R2021a 中推出

全部展开