Polyspace®代码验证程序™ 服务器™证明C/ c++代码中没有运行时错误,然后将发现上传到web界面以进行代码检查。
您可以作为持续集成的一部分运行代码验证程序。设置定期或基于新代码提交运行代码验证程序分析的脚本。这些脚本可以将分析结果上传到Polyspace web界面中供查看,还可以选择向具有Polyspace结果的源文件所有者发送电子邮件。所有者可以打开web界面,仅查看其提交的新发现,然后修复或证明问题。
在一个典型的项目或团队中,Polyspace代码验证服务器定期在一些测试服务器上运行,并上传结果以供查看。团队中的每个开发人员和质量工程师都有一个Polyspace代码验证访问™在web界面中查看结果以进行调查和错误修复的许可证。
要在服务器上运行代码验证器分析并查看多空间码验证访问web界面,执行此一次性设置:
要运行分析,请安装Polyspace代码验证服务器产品
要上传结果,需要设置的组件主机的web界面多空间码验证访问。
要查看上传的结果,您和每个检查结果的开发人员必须有一个多空间码验证访问许可证。
看到安装Polyspace服务器和Access产品下载188bet金宝搏。
检查如果Polyspace代码验证服务器安装:
打开命令窗口。引导到
在这里polyspaceserverroot
\polyspace\bin
是Polyspace代码验证服务器安装文件夹,例如:polyspaceserverroot
C:\Program Files\Polyspace服务器\R2021a
.另见安装文件夹。
输入:
polyspace代码验证服务器-帮助 |
您应该看到代码验证器分析所允许的选项列表。
检查Polyspace网页界面是否已设置以供上载:
再次导航到
。polyspaceserverroot
\polyspace\bin
输入:
polyspace访问-主机名-端口号-创建项目testProject |
在这里,
是托管服务器的服务器的名称多空间码验证访问网络服务器。对于本地托管服务器,请使用主机名
本地服务器
。
I是服务器的可选端口号。如果省略端口号,端口号
9443
使用。
如果安装完成,则调用一个项目testProject
在Polyspace web界面中创建。
每次使用时,系统都会提示您输入登录名和密码polyspace-access
命令。为避免每次输入登录信息,请在执行命令时提供登录信息和密码的加密版本。如果需要创建加密密码,请输入:
polyspace访问-加密密码 |
输入您的登录名和密码。复制加密密码并将此加密密码与-加密密码
在使用polyspace-access
命令。
在浏览器中,打开这个URL:
https://主机名:端口号/metrics/index.html
主机名
和端口号
是上一步中的主机名和端口号。在工程资源管理器在Polyspace web界面上的窗格中,您应该可以看到新创建的项目testProject
。
要在您的操作系统中运行代码验证程序,请打开一个命令窗口。
要运行代码验证器分析,请使用polyspace-code-prover-server
命令。
要将结果上传到Polyspace web界面,请使用polyspace-access
命令。
要避免输入命令的完整路径,请添加路径
到polyspaceserverroot
\polyspace\bin路径
操作系统上的环境变量。
在Polyspace安装提供的样例文件上尝试这些命令。
复制示例源文件
转到您具有写入权限的其他文件夹。在命令行中导航到此文件夹。polyspaceserverroot
\ polyspace \ \ cxx \ Code_Prover_Example \例子来源
输入:
example.c,single_file_analysis.c主发电机-results-dir。polyspace-access主机主机名- port端口号-登录用户名-加密密码pwd-create-project testProject主机名- port端口号-登录用户名-加密密码pwd-上传。-项目myFirstProject-父项目testProject |
在这里,
你的登录名是and吗用户名
是您先前创建的加密密码。看到检查Polyspace安装。pwd
刷新Polyspace web界面。您可以看到新上传的结果testProject
文件夹中工程资源管理器窗玻璃
要查看项目中的结果,请单击审查。有关更多信息,请参见Polyspace代码验证程序访问文档。您也可以使用Polyspace访问界面右上角的按钮。
的选项polyspace-code-prover-server
命令是:
-来源
:指定逗号分隔的源文件。
-我
:指定包含文件夹的路径。使用-我
每次您想要添加一个单独的包含文件夹时标记。
-结果目录
:指定文件夹的路径,其中Polyspace代码验证结果将被保存。
注意,结果文件夹在每次运行时都会被清理并重新填充。为避免在清理过程中意外删除文件,不要使用包含其他文件的现有文件夹,而是为Polyspace结果指定一个专用文件夹。
验证模块或库(-main-generator)
:指定主要的
函数如果在源文件中未找到,则必须生成
有关代码验证器分析可用选项的完整列表,请参见Polyspace代码验证服务器的分析选项. 要在帮助浏览器中打开代码验证程序文档,请输入:
polyspace代码验证服务器-doc
要运行分析,您可以使用脚本,而不是在命令行中输入命令。脚本可以在每次添加或修改源文件时执行。
窗口示例®批处理文件如下所示。在这里,Polyspace安装的路径在脚本中指定。若要使用此脚本,请替换polyspaceserverroot
您的安装路径。您必须已生成用于脚本的加密密码。看见检查Polyspace安装。
echo off set POLYSPACE_PATH=polyspaceserverroot\polyspace\bin set LOGIN=-host hostName -port portNumber -login . log . log . log . log用户名-加密密码pwd"%POLYSPACE_PATH%\polyspace-code-prover-server" -sources example.c,single_file_analysis.c"%POLYSPACE_PATH%\polyspace-access" %LOGIN% -create-project testProject "暂停项目 |
Linux示例®Shell脚本如下所示。
POLYSPACE_PATH=polyspaceserverroot/POLYSPACE/bin LOGIN=-主机名-端口号-登录用户名-加密密码pwd${POLYSPACE_PATH}/polyspace-code-prover-server -sources example.c,single_file_analysis.c -I .\ -main-generator -results-dir .c${POLYSPACE_PATH}/polyspace-access $LOGIN -create-project testProject ${POLYSPACE_PATH}/polyspace-access $LOGIN -upload-project myFirstProject -parent-project testProject |
您可以在单独的文本文件中列出它们,而不是在启动脚本中列出源文件和分析选项。
通过从启动脚本中删除源文件和分析选项规范,您可以在提交新代码时根据需要修改这些规范,同时保持启动脚本不变。
考虑前面示例中的脚本。您可以修改polyspace-code-prover-server
命令使用带有源和选项的文本文件。而不是:
example.c,single_file_analysis.c主发电机-results-dir。 |
使用:
polyspace代码验证服务器-源列表文件sources.txt-选项文件polyspace_opts.txt-结果目录。 |
在这里:
sources.txt
列出源文件:
example.c single_file_analysis.c
polyspace_opts.txt
在单独的行中列出分析选项:
-我-主发电机
通常,在生成命令(makefile)中指定源文件。您可以跟踪build命令来创建源规范列表,而不是直接指定源文件。看见多空间配置
(Polyspace代码验证)。
在一个典型的持续集成工作流中,您运行一个执行以下步骤的脚本:
从构建命令中提取Polyspace选项。
例如,如果您使用makefile来构建源代码,那么您可以从makefile中提取分析选项。
编译选项文件 |
参见:
使用先前创建的选项文件运行分析。附加第二个选项文件,其中包含分析所需的其余选项。
编译选项文件run_opts . exe |
看到为多空间分析准备脚本。
将结果上传到多空间码验证访问。
polyspace-access登录上传resultsFolder项目projName父项目parentProjName |
在这里,
是与托管的web服务器通信所需的选项组合多空间码验证访问:登录
主机主机名- port端口号-登录用户名-加密密码pwd |
是包含Polyspace结果的文件夹。resultsFolder
和projName
项目和父文件夹的名称是否与在多空间码验证访问网络界面。parentProjName
还可以选择向开发人员发送电子邮件通知,告知他们提交代码后的新结果。电子邮件中包含了链接到结果的附件多空间码验证访问网络界面。
参见中执行这些步骤的脚本示例使用Jenkins进行多空间分析的示例脚本。
polyspace-access
|polyspace-code-prover-server