主要内容

Polyspace 用户界面中审查 Polyspace Bug Finder 结果

Polyspace® Bug Finder™ 可检查 C/C++ 代码中是否存在缺陷、编码违规和安全漏洞。运行分析后,您可以在 Polyspace 用户界面中打开结果并进行审查。

本主题说明如何在 Polyspace 用户界面中审查一些 Bug Finder 结果。桌面端 Polyspace Bug FinderPolyspace Code Prover™ 产品提供了 Polyspace 用户界面。

示例文件

要遵循本教程中的步骤,请使用在桌面端运行 Polyspace Bug Finder中的步骤运行 Polyspace。

或者,在 Polyspace 用户界面中,使用帮助 > 示例 > Bug_Finder_Example.psprj 打开示例结果。如果您在上传示例结果后进行了一些更改,要加载最新副本,请选择帮助 > 示例 > 还原默认示例

解释结果

审查每个 Polyspace 结果。查找问题的根本原因。

请从结果列表窗格中的结果列表开始。

  • 如果结果列表窗格覆盖了整个窗口,请选择窗口 > 重置布局 > 结果审查

  • 如果没有看到结果的扁平列表,而是看到分组后的结果,请从 列表中选择

要按字母顺序对结果进行排序,请点击检查列标题。选择未初始化的变量结果之一。

窗格中查看源代码,并在结果详细信息窗格中查看有关结果的更多信息。

结果详细信息窗格还会高亮显示导致该结果的事件序列。例如,对于未初始化的变量结果,您会看到以下事件:

  • 已声明变量 value

  • 已跳过 value 已被初始化的 if 语句。

  • 已读取变量 value

您还可以看到这些事件在源代码中以蓝色高亮显示。有时,这些事件在源代码中可能相距很远。点击结果详细信息窗格中的某个事件将导航到源代码中的对应位置。

其他信息

请参阅:

通过 Bug 修复或注释来处理结果

在了解某个 Polyspace 检查结果的根本原因后,您可以修复代码。或者,为 Polyspace 结果添加注释,以便日后修复代码或者对结果进行申述。可以使用注释来跟踪审查进度。

窗格中,右键点击变量 value。选择打开编辑器。代码将在文本编辑器中打开。修复问题。例如,您可以在声明期间初始化 value

int value = -1;
如果重新运行分析,则不会看到未初始化的变量缺陷。

另外,如果您不希望立即修复缺陷,请为结果指定待调查状态。还可以添加注释以进一步进行解释。

如果您指定未计划任何操作状态,则同一工程上的后续运行中便不会再出现该结果。

其他信息

请参阅:

管理结果

打开 Bug Finder 分析的结果时,您会看到一个包含缺陷、编码违规或其他结果的扁平列表。为了便于审查,您可以缩小列表范围,或者按文件或结果类型对结果进行分组。

例如,您可以:

  • 仅审查影响程度大的缺陷。

    要按影响程度对缺陷进行排序,请点击信息列标题。另外,您还可以过滤掉是缺陷但影响程度不高的结果。要开始过滤,请点击列标题上的 图标。

  • 仅审查自上次分析以来出现的新结果。

    结果列表窗格工具栏上,点击新增按钮。

  • 审查特定文件或函数中的结果。

    结果列表窗格工具栏上,从 列表中选择文件

其他信息

请参阅Filter and Group Results in Polyspace Desktop User Interface