主要内容

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

polyspace-report-generator

(系统命令)从本地或 Polyspace Access 上存储的 Polyspace 分析结果生成报告。

说明

polyspace-report-generator 系统命令使用预定义或自定义模板,根据 Polyspace® 静态分析结果生成 PDF、Word 或 HTML 报告。

从本地结果生成报告

注意

此 Polyspace 命令在 polyspaceroot\polyspace\bin 中可用。这里,polyspaceroot 是 Polyspace 的安装文件夹,例如 C:\Program Files\Polyspace\R2025a(请参阅适用于桌面端产品的安装文件夹或适用于服务器产品的安装文件夹)。为避免键入此命令的完整路径,请将此位置添加到操作系统中的 PATH 环境变量中。

polyspace-report-generator -template outputTemplate [reporting options] 使用模板 outputTemplate 生成报告,该模板用于您使用 reporting options 指定的本地分析结果。

默认情况下,project-name 的结果报告将作为 project-name_report-name 存储在 PathToFolder\Polyspace-Doc 文件夹中。PathToFolderproject-name 的结果文件夹。

示例

polyspace-report-generator -generate-results-list-file [-results-dir resultsFolder] [-set-language-english] 将本地存储在 resultsFolder 中的分析结果导出到一个制表符分隔的文本文件中。该文件包含用户界面中的结果列表窗格中可用的结果信息。有关导出结果列表的更多信息,请参阅 View Exported Results

默认情况下,project-name 结果的文件存储在 PathToFolder\Polyspace-Doc 文件夹中。PathToFolderproject-name 的结果文件夹。

要将结果导出到制表符分隔的文本文件,请优先使用 polyspace-results-export 命令。

polyspace-report-generator -generate-variable-access-file [-results-dir resultsFolder] [-set-language-english] 将本地存储在 FOLDER 中的 Code Prover 分析中的代码中的全局变量列表导出到一个以制表符分隔的文本文件中。该文件包含用户界面中的变量访问窗格中可用的信息。有关导出的变量列表的详细信息,请参阅View Exported Variable List (Polyspace Code Prover)

默认情况下,project-name 结果的变量文件存储在 PathToFolder\Polyspace-Doc 文件夹中。PathToFolderproject-name 的结果文件夹。

polyspace-report-generator -configure-keystore 将报告生成器配置为通过 HTTPS 与 Polyspace Access™ 进行通信。

如果 Polyspace Access 配置为使用 HTTPS 协议,且您没有 Polyspace Bug Finder™ 桌面端许可证,或者您有桌面端许可证但未配置桌面端 UI 通过 HTTPS 与 Polyspace Access 通信,请执行此一次性配置步骤。在运行此命令之前,请生成一个客户端密钥库,用于存储 Polyspace Access 用于 HTTPS 的 SSL 证书。请参阅生成客户端密钥库 (Polyspace Access)

示例

Polyspace Access 结果生成报告

polyspace-report-generator -template outputTemplate -host hostName -run-id runID [polyspace access options] [reporting options] 使用模板 outputTemplate 为在 Polyspace Access 上运行的 runID 的分析结果生成报告。hostName 是托管 Polyspace Access 的机器的完全合格主机名。

默认情况下,project-name 的结果报告将存储在 PathToFolder\Polyspace-Doc 文件夹中的 project-name_report-name 中。PathToFolder 是调用该命令的路径。

示例

polyspace-report-generator -generate-results-list-file -host hostName -run-id runID [polyspace access options] [-set-language-english] 将运行 runIDPolyspace Access 上的分析结果导出到一个以选项卡分隔的文本文件中。该文件包含在 Polyspace Access Web 接口的结果列表窗格中可用的结果信息。hostName 是托管 Polyspace Access 的计算机的完全合格的主机名。有关导出结果列表的更多信息,请参阅 Polyspace Access Web 界面中的结果列表 (Polyspace Access)

默认情况下,project-name 的结果文件存储在 PathToFolder\Polyspace-Doc 文件夹中。PathToFolder 是您调用该命令的路径。

要将结果导出到制表符分隔的文本文件,请优先使用 polyspace-results-export 命令。

polyspace-report-generator -generate-variable-access-file -host hostName -run-id runID [polyspace access options] [-set-language-english] 将 Code Prover 分析中与在 Polyspace Access 上运行 runID 相对应的代码中的全局变量列表导出到一个以制表符分隔的文本文件中。该文件包含 Polyspace Access Web 接口中的变量访问窗格中可用的信息。hostName 是托管 Polyspace Access 的计算机的完全合格的主机名。有关导出的变量列表的详细信息,请参阅View Exported Variable List (Polyspace Code Prover)

默认情况下,project-name 的结果变量文件存储在 PathToFolder\Polyspace-Doc 文件夹中。PathToFolder 是您调用该命令的路径。

示例

示例

全部折叠

您可以为本地存储的分析报告结果生成多个报告。

创建一个变量 template_path 来存储报告模板的路径,并创建一个变量 report_templates 来存储要使用的模板的逗号分隔列表。

SET template_path="C:\Program Files"\Polyspace\R2019a\toolbox\polyspace^
\psrptgen\templates\bug_finder
SET report_templates=%template_path%\BugFinder.rpt,^
%template_path%\CodingStandards.rpt

report_templates 中指定的模板生成 Polyspace 工程 myProject 的分析报告。

 polyspace-report-generator -template %report_templates% ^
-results-dir C:\Polyspace_Workspace\myProject\Module_1\BF_Result ^
-format PDF
该命令生成两个 PDF 报告,分别为 myProject_BugFinder.PDFmyProject_CodingStandards.PDF。报告存储在 C:\Polyspace_Workspace\myProject\Module_1\BF_Result\Polyspace-Doc 中。有关报告内容的详细信息,请参阅 Bug Finder 和 Code Prover 报告 (-report-template)

如果将 Polyspace Access 配置为使用 HTTPS 协议,则必须生成一个客户端密钥库来存储 Polyspace Access 使用的 SSL 证书,并将 polyspace-report-generator 配置为使用该密钥库。请参阅生成客户端密钥库 (Polyspace Access)。此一次性配置使报告生成器能够通过 HTTPS 与 Polyspace Access 进行通信。

要使用客户端密钥库配置报告生成器,请使用 polyspace-report-generator -configure-keystore 命令。按照提示输入您用于登录 Polyspace Access 的 URL、您生成的密钥库文件的完整路径以及密钥库密码。

polyspace-report-generator -configure-keystore
Location: US, user name: jsmit, id: 62600@us-jsmith, print mode: false
Enter the Polyspace Access URL using form  http[s]://<host>:<port> :
https://myAccessServer:9443
Enter full path to client keystore file :
C:\R2019b\ssl\client-cert.jks
Enter client keystore password :

The keystore has been configured

如果出现以下情况,您必须重新运行密钥库配置命令:

  • 例如,如果您使用了不同的端口号,则 Polyspace Access URL 会发生变化。

  • 密钥库文件的路径发生了变化。

  • 密钥库密码已更改。

注意

要在命令行中生成有关 Polyspace Access 的结果报告,您必须安装 Polyspace Bug Finder Server™Polyspace Code Prover™ Server

假设您想要生成一份报告,并导出存储在 Polyspace Access 数据库中的 Code Prover 分析结果的变量列表。

要连接到 Polyspace Access,请提供主机名和登录凭据(包括加密密码)。要加密您的密码,请使用 polyspace-access 命令并在提示符处输入用户名和密码。

polyspace-access -encrypt-password 
login: jsmith
password:
CRYPTED_PASSWORD LAMMMEACDMKEFELKMNDCONEAPECEEKPL
Command Completed

将登录名和加密密码存储在凭据文件中,并限制对此文件的读取和写入权限。例如,打开文本编辑器,将以下两行代码复制到编辑器中,然后将文件另存为 myCredentials.txt 文件。

 -login jsmith
 -encrypted-password LAMMMEACDMKEFELKMNDCONEAPECEEKPL
要限制文件权限,请右键点击文件,然后在 Linux® 中选择权限选项卡或在 Windows® 中选择安全选项卡。

要指定 Polyspace Access 上的工程结果,请指定工程的运行 ID。要获取包含最新运行 ID 的工程列表,请使用 polyspace-access -list-project (Polyspace Access) 命令。

polyspace-access -host myAccessServer -credentials-file myCredentials.txt -list-project
Connecting to https://myAccessServer:9443
Connecting as jsmith
Get project list with the last Run Id
Restricted/Code_Prover_Example (Code Prover) RUN_ID 14
public/Bug_Finder_Example (Bug Finder) RUN_ID 24
public/CP/Code_Prover_Example (Polyspace Code Prover) RUN_ID 16
public/Polyspace (Code Prover) RUN_ID 28
Command Completed

为主机名为 myAccessServerPolyspace Access 实例中运行 ID 为 16 的结果生成 Developer 报告。此 Polyspace Access 实例的 URL 为 https://myAccessServer:9443

SET template_path=^
"C:\Program Files\Polyspace\R2019a\toolbox\polyspace\psrptgen\templates"

polyspace-report-generator -credentials-file myCredentials.txt ^
-template %template_path%\Developer.rpt ^
-host myAccessServer ^
-run-id 16 ^
-output-name myReport
该命令使用您指定的模板创建报告 myReport.docx。该报告存储在您调用该命令时的路径上的 Polyspace-Doc 文件夹中。

生成制表符分隔的文本文件,该文件包含代码中用于指定的分析结果的全局变量列表。

polyspace-report-generator -credentials-file myCredentials.txt^
-generate-variable-access-file ^
-host myAccessServer ^
-run-id 16
全局变量列表 Variable_View.txt 存储在与生成的报告相同的文件夹中。有关导出的变量列表的详细信息,请参阅View Exported Variable List (Polyspace Code Prover)

输入参数

全部折叠

用于生成分析报告的报告模板的路径。要生成多个报告,请指定以逗号分隔的报告模板路径列表(逗号后不要加空格)。模板以 polyspaceroot\toolbox\polyspace\psrptgen\templates\ 格式提供,对应的文件名为 .rpt。在这里,polyspaceroot 是 Polyspace 的安装文件夹。polyspace-report-generator 命令接受与分析选项 -report-template 相同的模板。有关可用模板的信息,请参阅 Bug Finder 和 Code Prover 报告 (-report-template)

此选项与 -generate-variable-access-file-generate-results-list-file 不兼容。

示例: C:\Program Files\Polyspace\R2019a\toolbox\polyspace\psrptgen\templates\Developer.rpt

示例: TEMPLATE_PATH\BugFinder.rpt,TEMPLATE_PATH\CodingStandards.rpt

包含 Polyspace 分析结果(.psbf.pscp 文件)的文件夹路径。要生成多个验证的报告,请指定以逗号分隔的文件夹路径列表(逗号后不要加空格)。如果未指定文件夹路径,则该命令将在当前文件夹中生成分析报告。

示例: C:\Polyspace_Workspace\My_project\Module_1\results

示例: C:\Polyspace_Workspace\My_project\Module_2\results,C:\Polyspace_Workspace\My_project\Module_3\other_results

Polyspace Access Gateway API 服务所在机器的完整主机名。您必须指定一个主机名,才能为 Polyspace Access 数据库上的结果生成报告。

示例: my-company-server

生成报告的工程检查结果的运行 ID。Polyspace 为上传到 Polyspace Access 的每个分析运行分配一个唯一的运行 ID。

您可以在 Polyspace Access Web 接口中查看工程的运行 ID。要获取运行 ID,请使用命令 polyspace-access -list-project (Polyspace Access)

选项描述
-format HTML | PDF | WORD

您生成的报告的文件格式。默认情况下,该命令会生成一个名为 Microsoft® Word 的文档。

要生成多种格式的报告,请指定以逗号分隔的格式列表。(逗号后不要加空格)。例如,-format PDF,HTML

此选项与 -generate-variable-access-file-generate-results-list-file 不兼容。

-output-name outputName

生成的报告名称或文件夹名称(如果您生成多个报告)。

报告或导出文件保存在调用命令的路径中。要保存到其他文件夹,请指定文件夹的完整路径,例如 -output-name C:\PathTo\OtherFolder

-results-dir FOLDER_1,...,FOLDER_N

本地存储结果文件夹的路径。要生成多个分析的报告,请指定以逗号分隔的文件夹路径列表。(逗号后不要加空格)。例如:

-results-dir folderPath1,folderPath2
此选项与 Polyspace Access 结果不兼容。

-key-mode file-scope | function-scope

指定导出结果中列的条目计算方式:

  • file-scope(默认)- 密钥由结果名称、结果类型和文件位置计算得出。

  • function-scope - 如果结果位于函数内,则根据结果名称、结果类型和函数位置计算键;否则,根据文件位置计算键。如果结果位于函数内,则在此模式下生成的键前会附加前缀 FN

另请参阅Enable Function Scope for Exported Keys

此选项仅与选项 -generate-results-list-file 结合使用时有效。

-set-language-english以英语生成报告。如果您的显示语言设置为其他语言,请使用此选项。
-help显示帮助信息。
选项描述

-host HOST_NAME

HOST_NAME 对应于您在 Polyspace Access 接口的 URL 中指定的主机名,例如 https://HOST_NAME:port/metrics/index.html。如果您不确定应使用哪个主机名,请联系您的 Polyspace 访问管理员。默认主机名为 localhost

当您为存储在 Polyspace Access 数据库中的结果生成报告时,此选项是必填项。

-run-id RUN_ID

工程的运行 ID。Polyspace 为您上传的每个分析运行分配一个唯一的运行 ID。要获取工程的最后运行 ID,请使用 polyspace-access -list-project (Polyspace Access) 命令。

当您为存储在 Polyspace Access 数据库中的结果生成报告时,此选项是必填项。

-all-units

指定此选项可从逐个单元分析中生成所有单元的报告。

使用此选项时,请使用 -run-id 指定一个单元的运行 ID。该命令将报告中的其他单元包括在内。

-port portNumber

portNumber 对应于您在 Polyspace Access 接口的 URL 中指定的端口号,例如 https://hostname:portNumber/metrics/index.html。如果您不确定要使用哪个端口号,请联系您的 Polyspace Access 管理员。默认端口号为 9443

-protocol http | https

用于连接到 Polyspace Access 的 HTTP 协议。默认值为 https
-credentials-file file_path

存储登录凭据的文本文件的完整路径。例如,如果您在脚本中使用需要 Polyspace Access 凭据的命令,但不想将凭据存储在该脚本中,则使用此选项。在脚本运行期间,检查当前正在运行的进程的人无法看到您的凭据。

您只能在文件中存储一组凭据,作为单独行中的 -login-encrypted-password 条目,例如:

-login jsmith
-encrypted-password LAMMMEACDMKEFELKMNDCONEAPECEEKPL
或作为 -api-key 条目:
-api-key keyValue123
确保限制存储凭据的文件的读写权限。例如,要限制对 Linux 中文件 login.txt 的读写权限,请使用以下命令:
chmod go-rwx login.txt

-api-key keyValue

您用作登录凭据的 API 密钥,无需提供登录名和加密密码。要为用户分配 API 密钥,请参阅 配置 User Manager (Polyspace Access) 或联系您的 Polyspace Access 管理员。

例如,如果您使用的是需要 Polyspace Access 登录凭据的命令,作为 CI 工具(如 Jenkins®)自动化脚本的一部分,则应使用 API 密钥。如果用户更新了密码,您无需在脚本中更新与该用户关联的 API 密钥。

建议您将 API 密钥存储在文本文件中,并通过使用 -credentials-file 将该文件传递给命令。请参阅选项 -credentials-file 的说明。

-login username

-encrypted-password ENCRYPTED_PASSWD

您用于登录 Polyspace Access 的凭据。-encrypted-password 的参量是 polyspace-access -encrypt-password (Polyspace Access) 命令的输出。

提示

  • 您无法将 polyspace-report-generator 命令与使用 Polyspace 生成的结果作为您的代码使用。请使用 polyspace-results-export 命令。请参阅 polyspace-results-export

  • 对于包含大量缺陷或编码违规的结果集,报告生成可能需要很长时间。在某些情况下,您可能会遇到内存不足导致的问题。如果发生这种情况,您可以增加 Java® 堆大小,或使用选项 -wysiwyg 生成多个过滤报告,而不是包含所有结果的单个报告。有关详细信息,请参阅Fix Insufficient Memory Errors During Polyspace Report Generation

替代功能

您可能希望在分析的同时生成报告,而不是从现有的分析结果生成报告。在这种情况下,请使用分析选项 -report-template-report-output-format。请参阅报告

与分析一起生成的报告仅包含从先前分析中导入的审查信息(如果导入了此类信息)。如果向结果中添加了新的审查信息,则必须使用 polyspace-report-generator 命令重新生成报告。

版本历史记录

在 R2013b 中推出