简单使用一下polyspace验证c51代码,以及生成报告时隐藏错误选项

polyspace简单使用

安装

版本为Matlab R2020b,只用polyspace的话应该只需安装以下组件即可:

若安装后不能正常使用,可重新安装,可以试试额外勾选以下组件(我也不知道原理): 

导入项目

点击File->New Project选项卡:

自定义项目名、版本号、作者、保存位置,点击Next:

接下来选择Keil编译器,点击Next,开始选择项目源文件:

Source Files只会导入.c文件,直接选择整个项目文件夹,勾选Add recursively可一次导入所有子文件夹。下一步的Include Folders只会导入.h文件,同上直接选择整个项目文件夹导入即可,但是之后编译时可能会报缺少引用文件之类的错误,建议把keil安装位置的c51依赖包也导入进去。

运行Bug Finder & Code Prover

接下来准备开始验证代码,在Configuration窗口Target & Compiler内Compiler栏选择keil,使用默认的keil配置即可:

Code Prover运行可能会报错,我把配置文件排除后就能正常运行,Bug Finder则没有出现这个情况,奇奇怪怪:

点击右侧小箭头选择Bug Finder或Code Prover:

成功运行后点击Reporting->Run Report选项卡,生成报告(下图以Code Prover为例):

Select reports选择报告的样式,Output folder是保存位置,Output format可选择PDF、WORD、HTML格式,勾选项是只生成当前的错误报告,被隐藏的错误不会写在报告里。参考翻译:

code prover 代码验证器
- `CallHierarchy`:调用层次结构,用于查看代码中函数或方法之间的调用关系。
- `CodeMetrics`:代码度量,用于分析代码的质量、规模、复杂度等方面的指标。
- `CodingStanders`:编码标准,定义代码编写时应该遵守的规范和标准。
- `Developer`:开发人员,指软件开发过程中参与编写代码的人员。
- `DeveloperReview`:开发人员审查,指开发团队对代码进行审查和评审的过程。
- `Developer_WithGreenChecks`:具有绿色复核的开发人员,可能指经过审核和认可的开发人员。
- `Quality`:质量,指代码和软件产品的质量水平。
- `VariableAccess`:变量访问,指代码中对变量进行读取或写入的操作。


bug finder Bug查找器
- `BugFinder`:Bug查找器,可能指用于检测和发现代码中的缺陷或问题的工具或系统。
- `BugFinderSummary`:Bug查找器总结,可能指Bug查找器生成的关于代码中发现的缺陷的总结报告。
- `CodeMetrics`:代码度量,用于分析代码的质量、规模、复杂度等方面的指标。
- `CodingStandards`:编码标准,定义代码编写时应该遵守的规范和标准。
- `SecurityCWE`:安全性常见弱点(Common Weakness Enumeration),指一种标准化的分类系统,用于描述软件和硬件中常见的安全漏洞和弱点。

如何隐藏错误项

详见官方手册,这里推荐一个翻译器:pot翻译器

通过 Bug 修复或申述在 Polyspace 用户界面中处理结果 - MATLAB & Simulink - MathWorks 中国

先选择想隐藏的错误项,在Result Details窗口配置一下状态和严重程度,这影响到下一步自动生成的注释:

​​

配置完成后,点击将预申述添加到剪贴板(Add Pre-Justification To Clipboard)

​​

再点击上图里的Open Editor,进入问题代码处,将剪切板内容粘到相同行,再次执行Code Prover就不会显示该项了(扇形图里还是会显示的):

​​

隐藏项怎么显示?在Results List窗口选择Showing选项卡,把Hide results justified in code取消勾选就行:

​​

polyspace暂时就这些,遇到其他问题建议直接查看官方手册比较好(再深入了我也不会),点击提示信息里的小问号即可进入:

​​

嵌入式系统的代码验证是确保软件质量的关键步骤,特别是在高完整性应用领域。使用Polyspace工具进行代码验证,可以遵循以下步骤来满足质量目标:(步骤、代码、mermaid流程图、扩展内容,此处略) 参考资源链接:[Polyspace工具升级:嵌入式软件验证的新突破与汽车行业应用](https://wenku.csdn.net/doc/645a083a95996c03ac28011d) 首先,利用指标网络控制面板(Metrics Web Dashboard)设置和监控质量目标。这包括代码复杂度、安全性和合规性等关键指标,以及符合MISRA-C标准的程度和运行错误的追踪。 其次,通过自动化计划验证工作,确保所有代码都经过验证,并且符合预定的验证流程。这有助于减少遗漏或重复的验证工作。 接着,利用电子邮件通知功能,可以在验证结果不符合预设质量标准获得反馈。这样,团队可以迅速响应并进行必要的调整。 此外,增强的代码指标支持可以帮助团队深入了解代码的性能和潜在风险。这包括但不限于代码覆盖度、复杂度分析和静态分析。 最终,通过集成Polyspace工具到开发流程中,结合夜间进程和电子邮件系统,团队能够专注于解决更高级别的验证问题,而不是基础任务,从而提升了软件开发的效率和质量。 为了深入理解和有效应用Polyspace工具,推荐阅读《Polyspace工具升级:嵌入式软件验证的新突破与汽车行业应用》。该资料详细介绍了Polyspace工具的最新升级特性,并且提供了在实践中如何应用这些功能的实例和最佳实践,对于追求嵌入式软件高质量的开发人员和管理者来说,是一份宝贵的参考资料。 参考资源链接:[Polyspace工具升级:嵌入式软件验证的新突破与汽车行业应用](https://wenku.csdn.net/doc/645a083a95996c03ac28011d)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值