Polyspace工具使用方法

一.Polyspace简介
Polyspace是基于抽象解释原理的代码级静态分析和验证工具。Polyspace由Bug Finder和Code Prover组成。可以用于检测代码鲁棒性,提高软件安全性,可靠性
Polyspace Bug Finder使用语义分析的方法查找代码中的运行时错误、并发问题、安全漏洞和其他缺陷。
Polyspace Code Prover使用抽象解释法证明源代码中不存在溢出、被零除、数组访问越界等运行时错误。
二.Polyspace使用
Polyspace可通过MATLAB安装,若仅使用Polyspace功能,在安装时可以只勾选相关选项。

新建工程
点击file->new project,输入工程名,取消勾选use default localtion,并选择待检查的.c文件的路径。
a.使用polyspace配置模板,需勾选“Use template”;
b.通过makefile文件创建工程,需勾选“Create from build command”;
c. 用于AUTOSAR 软件组件静态分析,需勾选“Create from AUTOSAR specification”;
d.普通方式,“Use template”、“Create from build command”、“Create from AUTOSAR specification”均不勾选。
在这里插入图片描述
点击next,然后点击project source files,点击browse选择待测的.c文件,然后点击add source folders,将待测文件添加进工程,然后点击next;
在这里插入图片描述
这一步需要添加.c文件中所需头文件的路径,没有头文件可以不添加,点击browse选择所有头文件所在的include文件夹,然后点击add include folders,将路径添加进工程中,然后点击finish;
在这里插入图片描述
接下来需要进行参数配置,主要需要对相应的代码语言、标准、编译器以及处理器内核版本进行配置。如果没有相应的处理器内核,可以选择mcpu…(advanced)进行自行设置,然后保存即可;
在这里插入图片描述

reporting选项可以选择是否生成检测报告及生成报告的文件格式等。
其余配置选项如何配置可参考Bug Finder帮助文档以及Code Prover帮助文档
在这里插入图片描述
点击run bug finder运行,点击右侧向下黑色箭头可选择检查分析方法,bug finder或者code prover。
在这里插入图片描述

三.Polyspace结果查看
output summary
展示分析进度,分析过程信息输出、分析中遇到的问题、是否分析结束等信息。(当分析代码编译存在问题时,该过程会有红色警告,文件查找失败等内容会有黄色警告)。在这里插入图片描述
Dashboard
分析结果报告显示窗口,会显示如下信息内容:
1)风险错误数量比例饼状图:红色表示高风险错误,粉红表示低风险,(点击在Result List窗口会列举出对应的内容信息)。
2)分析覆盖度柱状图
3)错误类型及数量图
在这里插入图片描述
result list
1)列举出具体风险类型项,位置,数量等信息;
2)点击风险项,在Source窗口对照源代码分析问题。
在这里插入图片描述
经Polyspace分析后的代码结果以不同颜色表示:

  • 绿色代表为安全代码,无需花精力审查;
  • 红色代码问题代码,需要立刻解决;
  • 灰色代表不可达代码,需要审查是设计错误还是有意为之;
  • 橙色代表有风险代码,需要重点审查。

另外还可以设定编码规范(如MISRA)和自定义代码风格,违反之处以紫色显示;同时可以看到代码变量随控制流的数据范围变化情况,快速查找和定位问题原因。

若想要将分析结果生成报告进行输出,可以点击reporting,选择bugfinder,在下面选择生成报告的路径和格式,然后点击run report生成相应的报告。
在这里插入图片描述

reference:
https://zhuanlan.zhihu.com/p/602324739
https://www.cnblogs.com/amxiang/p/16257712.html
https://blog.csdn.net/weixin_38451800/article/details/103352448
https://blog.csdn.net/weixin_42313027/article/details/126525570

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值