在命令行中设置基线 Polyspace as You Code 结果
为了更高效地修复 Bug,您可以使用以前的结果作为 Polyspace as You Code 分析结果的基线。设置以前的结果作为基线时,会将当前的结果与以前的结果进行比较,并仅专注于新的或未经审查的结果。这种是使用从 Polyspace® Access™ 下载的先前 Polyspace Bug Finder™ Server™ 结果作为 Polyspace as You Code 结果的基线。
注意
要保持使用最新的基线信息,请确保定期运行相应命令以从 Polyspace Access 下载结果。请参阅步骤 2:下载基线。
基线结果的呈现方式
设置基线的效果取决于您是将结果导出到控制台还是导出为 JSON 格式 (SARIF)。有关格式的更多详细信息,请参阅 polyspace-results-export
(Polyspace Bug Finder)。
控制台输出
在 Polyspace Access 中具有已申述状态(未计划任何操作、已申述或非缺陷)的结果将不再显示在控制台输出中。
JSON 输出
在以下语句中,
表示从 Polyspace 结果导出的 JSON 对象。obj
如果结果是新结果且在 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.justifiedtrue
:"justified" : true
设置基线的步骤
要将 Polyspace Bug Finder Server 结果用作 Polyspace as You Code 分析的基线,请按照以下步骤操作。
步骤 1:确定要用作基线的工程
首先,在 Polyspace Access 中确定您要用作基线的工程。该工程必须包含对您将在 Polyspace as You Code 中分析的文件的 Polyspace Bug Finder Server 分析结果。
复制要用作基线的工程的路径。要复制该路径,请执行以下操作:
在 Web 浏览器中打开 Polyspace Access Web 界面。
在工程资源管理器窗格中,右键点击该工程,然后选择将工程路径复制到剪贴板。
步骤 2:下载基线
接下来,从 Polyspace Access 工程中下载基线信息。例如,在终端中,输入以下命令:
polyspace-access -host hostname -download projectPath -output-folder-path downloadFolder
是 Polyspace Access 服务器的名称。hostname
是 Polyspace Access 中用作基线的工程的路径。您已从 Polyspace Access Web 界面复制了该名称。projectPath
是您将基线信息下载到的文件夹。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#DOS command polyspace-bug-finder-access.exe -sources filename -import-comments downloadFolder ^ -results-dir
resultsFolder
resultsFolder
其中:
是正在分析的当前文件。filename
是您之前将基线信息下载到的文件夹。downloadFolder
是用于存储分析结果的文件夹。resultsFolder
当您使用 polyspace-results-export
命令导出分析结果时,可以看到使用基线的效果。例如:
polyspace-results-export -format console -results-dir resultsFolder
另请参阅
polyspace-bug-finder-access
| polyspace-results-export
(Polyspace Bug Finder)