Main Content

在命令行中设置基线 Polyspace as You Code 结果

为了更高效地修复 Bug,您可以使用以前的结果作为 Polyspace as You Code 分析结果的基线。设置以前的结果作为基线时,会将当前的结果与以前的结果进行比较,并仅专注于新的或未经审查的结果。这种是使用从 Polyspace® Access™ 下载的先前 Polyspace Bug Finder™ Server™ 结果作为 Polyspace as You Code 结果的基线。

注意

要保持使用最新的基线信息,请确保定期运行相应命令以从 Polyspace Access 下载结果。请参阅步骤 2:下载基线

Results that appear in Polyspace Access act as baseline for a Polyspace as You Code analysis.

基线结果的呈现方式

设置基线的效果取决于您是将结果导出到控制台还是导出为 JSON 格式 (SARIF)。有关格式的更多详细信息,请参阅 polyspace-results-export (Polyspace Bug Finder)

控制台输出

Polyspace Access 中具有已申述状态未计划任何操作已申述非缺陷)的结果将不再显示在控制台输出中。

JSON 输出

在以下语句中,obj 表示从 Polyspace 结果导出的 JSON 对象。

  • 如果结果是新结果且在 Polyspace Access 中尚不存在,则相应的属性 obj.runs[0].results[n].baselineState 设置为 "new"

    "baselineState" : "new"
    否则,该属性设置为 "unchanged"

  • 结果会将其在 Polyspace Access 中的审查信息(状态严重性和其他说明)延用到 obj.runs[0].results[n].properties 中的相应属性。

    例如,在未设置基线的情况下,这些属性为:

    "severity" : "Unset",
    "status" : "Unreviewed",
    "comment" : ""
    如果设置了基线,severity 可能不是 "Unset"status 可能不是 "Unreviewed",等等。

  • Polyspace Access 中具有已申述状态未计划任何操作已申述非缺陷)的结果会显示属性 obj.runs[0].results[n].properties.justified 设置为 true

    "justified" : true

设置基线的步骤

要将 Polyspace Bug Finder Server 结果用作 Polyspace as You Code 分析的基线,请按照以下步骤操作。

步骤 1:确定要用作基线的工程

首先,在 Polyspace Access 中确定您要用作基线的工程。该工程必须包含对您将在 Polyspace as You Code 中分析的文件的 Polyspace Bug Finder Server 分析结果。

复制要用作基线的工程的路径。要复制该路径,请执行以下操作:

  1. 在 Web 浏览器中打开 Polyspace Access Web 界面。

  2. 工程资源管理器窗格中,右键点击该工程,然后选择将工程路径复制到剪贴板

Right-click option to copy project path

步骤 2:下载基线

接下来,从 Polyspace Access 工程中下载基线信息。例如,在终端中,输入以下命令:

polyspace-access -host hostname -download projectPath -output-folder-path downloadFolder
其中:

  • hostnamePolyspace Access 服务器的名称。

  • projectPathPolyspace Access 中用作基线的工程的路径。您已从 Polyspace Access Web 界面复制了该名称。

  • downloadFolder 是您将基线信息下载到的文件夹。

下载后,该文件夹包含以下三个数据库:结果 (ps_results.psbf)、源文件 (ps_sources.db) 和审查信息 (ps_comments.db)。您不能在 Polyspace 用户界面中打开这些结果,也不能以用作 Polyspace as You Code 运行的基线以外的任何其他方式使用这些结果。

该文件夹还包含一个 ps_access_info.json 文件,其中包含有关用作基线的 Access 工程和运行 ID 的信息。如果需要,您可以编写一个脚本,用于将该运行 ID 与 Polyspace Access 中的工程的最新运行 ID 进行比较,并在工作流中的特定时间点运行此脚本,以确保始终将工程的最新运行用作基线。

步骤 3:使用基线

基线下载完成后,使用选项 -import-comments 将下载的基线信息导入到当前分析中。在终端中,输入以下命令:

#Linux command
polyspace-bug-finder-access -sources filename -import-comments downloadFolder \
-results-dir resultsFolder

#DOS command

polyspace-bug-finder-access.exe -sources filename -import-comments downloadFolder ^
-results-dir resultsFolder

其中:

  • filename 是正在分析的当前文件。

  • downloadFolder 是您之前将基线信息下载到的文件夹。

  • resultsFolder 是用于存储分析结果的文件夹。

当您使用 polyspace-results-export 命令导出分析结果时,可以看到使用基线的效果。例如:

polyspace-results-export -format console -results-dir resultsFolder
另请参阅基线结果的呈现方式

另请参阅

| (Polyspace Bug Finder)

相关主题