主要内容

在产品升级后迁移 Polyspace 工程

本主题介绍了如何将现有 Polyspace® 工程或配置迁移到新版本的 Polyspace。若要将 Polyspace Access 结果数据库迁移到新版本的 Polyspace Access,请参阅Install Update or Upgrade to New Version of Polyspace Access (Polyspace Access)

将 Polyspace 产品升级到较新的版本时,必须将现有工程迁移到此版本。通常,将较旧的工程迁移到较新的版本就如同在较新版本的用户界面中打开它们一样简单。例如,如果某个 Polyspace 分析选项在两个版本之间更改了名称,则在 Polyspace 桌面端产品的用户界面中会自动处理此更改。

不过,每个较新版本的 Polyspace 都会提供新选项、改进的结果和更好的用户工作流。当升级到较新版本时,您可能需要考虑这些更改。

应对选项更改

Polyspace 桌面端产品的用户界面会处理分析选项的大多数更改。不过,在某些情况下,您可能需要显式更新选项。例如,如果您在分析配置的其他字段中输入一个仅可在命令行中使用的选项,但是该选项在更高版本中已弃用,则您必须显式删除该选项。

如果您在命令行中运行分析,则必须根据需要显式更新选项。

步骤 1:重新运行分析

要查看哪些选项已在当前版本中删除(并且未在用户界面中自动处理),请执行以下操作:

  1. 在当前版本的用户界面中打开您的工程。

  2. 重新运行分析并检查输出摘要窗格中的消息:

    • 将在近期版本中删除的选项会触发警告。

    • 已删除的选项会触发错误并停止分析。

如果您在命令行中运行分析,则分析日志中会出现相同的错误和警告。另请参阅View Error Information When Polyspace Analysis Stops

步骤 2:更新选项

一个选项可能会被另一个选项替代,也可能会因不再需要而被完全删除。选项通常用于更改分析操作的默认行为。因此,如果默认行为本身在新版本中发生了更改,则可能不再需要相应的选项。

输出摘要窗格中的消息仅会指明某个选项是将在近期版本中删除还是已被删除。要了解选项为何已被删除,以及该选项被替换为什么,请查阅产品发行说明:

每次发行时,所有选项更改都会显示在标题为 Changes in analysis options and binaries 的发行说明条目中。请查阅此条目来查看选项是被另一个选项替换还是不再需要了。

  • 如果选项被另一个选项替换,请将选项更改为新选项。

  • 如果选项不再需要,请将选项从分析配置中删除。

应对结果改进

通常情况下,Polyspace 的较新版本要比以前的版本更精准。这意味着,对于相同的源文件和分析选项,您可能会看到结果有所不同。例如,Polyspace Bug Finder™ 分析可能不再显示以前版本中会出现的某种类型的误报。

在迁移多个工程之前,有时候您可能希望对一个或几个工程执行测试迁移,以测定迁移后预期的结果变化。此测试迁移可以帮助您预测完全迁移后的预期变化。

步骤 1:比较结果

您可以按照以下过程比较两个不同版本中的工程结果:

  1. 在两个版本中对同一工程运行分析。

    • 如果您使用 Polyspace 桌面端产品,请在两个 Polyspace 版本的用户界面中对同一工程(.psprj 文件)运行分析。

    • 如果您使用 Polyspace 服务器端产品,请在两次运行中使用相同的脚本来运行分析,仅更改 Polyspace 二进制文件的路径。

    分析完成后,检查日志中是否有任何意外警告。例如,Polyspace 可能会警告您新版本包含旧版本中不可用的检查项。

    请注意,只有在源代码和分析选项相同的情况下,您才能比较两次运行并将所有变化归因于产品升级。请确保源代码或选项在两次运行之间没有更改。在较新版本中可能需要对某些选项进行更改,但这些更改只能将旧选项重新映射到新选项(或删除冗余选项)。请参阅应对选项更改

  2. 比较两个结果集,找出哪些结果发生了变化。要在 Polyspace 桌面端用户界面中比较两个结果集,请执行以下操作:

    1. 打开较新的结果集。

    2. 选择工具 > 导入注释并从以前的结果集进行导入。

    3. 导入后,点击新增按钮。

    保留的结果是当前分析中的新结果。有关注释导入的详细信息,请参阅Import Review Information from Previous Polyspace Analysis

    要在 PolyspaceAccess™ Web 界面中比较两个结果集,请执行以下操作:

    1. 将两个结果集上传到同一个 Polyspace Access 工程。您可以使用 polyspace-access 命令或者从 Polyspace 桌面端用户界面进行上传。

    2. 使用 Polyspace Access 中的运行比较功能来比较两个已上传的结果集。请参阅Compare Results in Polyspace Access Project to Previous Runs and View Trends (Polyspace Access)

步骤 2:解释结果更改

对于相同的源代码和分析配置,由于分析引擎的改进,您可能会看到结果有所变化。请参阅Understanding Changes in Polyspace Results After Product Upgrade

为应对结果更改,您可能需要执行以下一项或多项操作:

  • 删除冗余的代码注解。

    对于不再显示的结果,如果您之前输入了代码注解来进行申述,则可能需要删除不必要的代码注解。不再适用的代码注解在分析日志中显示为警告。请参阅Code Annotation Warnings

  • 更新质量门槛或目标。

    有时,检查项规范或分析精度的更改可能会影响特定类型的多个结果。为了适应此更改,您可能需要更新质量门槛或目标。例如,如果您之前仅要求必须修复或申述红色的非法解引用指针 Code Prover 检查结果,您现在可能希望在要求中加上橙色检查结果。

如果您运行 Bug Finder,则您在产品升级后可能还希望启用新的检查项。这些检查项可能是当前版本中新提供的,也可能与以前的版本相比减少了误报。请检查 Polyspace Bug Finder 发行说明分析结果部分来了解新增的检查项以及更新的检查项。

另请参阅

主题