与Polyspace®,你可以检查你的C/ c++代码是否违反了编码规则,比如MISRA C®: 2012规则。遵循编码规则可以减少缺陷的数量,提高代码的质量。
Polyspace可以检测违反以下规则的情况:
MISRA - C: 2004
MISRA - C: 2012
MISRA®c++
JSF AV c++
AUTOSAR c++ 14(仅Bug仪)
CERT®C(仅Bug仪)
CERT c++(仅Bug仪)
ISO®/ IEC TS 17961(仅Bug仪)
的指导方针(仅Bug仪)
通过Polyspace分析选项指定编码规则。当您运行Bug Finder或Code Prover时,除了其他检查外,分析还会查找编码规则违反情况。您可以禁用其他检查,只查找违反编码规则的情况。
在Polyspace用户界面(桌面产品)中,选项位于下载188bet金宝搏配置窗格下编码标准和编码度量节点。
对于C代码,使用以下选项之一:
对于生成的代码,启用特定于生成代码的选项。
对于生成的代码,启用特定于生成代码的选项。
对于c++代码,使用以下选项之一:
您可以指定预定义的规则子集,例如:强制性的
MISRA - C: 2012。这些子集通常由标准定义。
您还可以使用正则表达式定义标识符的命名约定。看到创建自定义编码规则.
您可以从编码标准指定自己的规则子集,而不是预定义的子集。
用户界面(只适用于桌面产品)下载188bet金宝搏
选择编码标准。从规则子集的下拉列表中选择从文件
.点击编辑.
在结果选择窗口中,编码标准在左侧窗格中突出显示。在右侧窗格中,选择要包含在分析中的规则。
在选择的指导方针>软件的复杂性检查者,检查他们的阈值。如果默认阈值不可接受,请在阈值列。看到检查指南(指南)
.
在选择自定义规则,检查模式和公约的规则。看到检查自定义规则(-custom-rules)
.
当您保存规则选择时,配置将保存在一个XML文件中,您可以在多个分析中重用该文件。同一个文件包含为所有编码标准选择的规则。您可以跨多个项目重用此文件,以在团队或组织中实施公共编码标准。要在Polyspace用户界面的另一个项目中重用该文件:
在项目配置中选择一个编码标准。从规则子集的下拉列表中选择从文件
.
点击编辑并浏览到文件位置。或者,输入文件名作为选项的参数通过文件设置检查器(-checkers-selection-file)
.
命令行。使用Polyspace桌面产品,您可以在用户界面中创建下载188bet金宝搏一个编码标准XML文件,然后使用该文件进行命令行分析。为这个XML文件提供选项通过文件设置检查器(-checkers-selection-file)
.
使用Polyspace Server产品,您必须从头下载188bet金宝搏创建一个编码标准XML。根据您想要启用的标准,创建一个文件的可写副本
并关闭使用XML文件中的条目的规则(来自标准的所有规则都在模板中启用)。在这里,polyspaceserverroot
\ \工具箱\ bugfinder帮助\ \ coding_standards_XML例子
是Polyspace Server产品的根安装文件夹,例如,下载188bet金宝搏polyspaceserverroot
C:\Program Files\Polyspace服务器\ R2019a
.
例如,要关闭MISRA C:2012规则8.1,请在该文件的副本中使用此条目misra_c_2012_rules.xml
:
… … …< / >节……< /标准>
当使用Guideline检查器时,指定它们的阈值阈值
标签。例如,激活检查器圈复杂度超过阈值
并将检查器的阈值设置为5,在guidelines.xml
:
5
要在Bug Finder中使用MISRA C:2012分析的XML文件,输入:
polyspace-bug-finder来源文件名-checkers-select -file
有关规则id-s和节名的完整列表,请参见:
请注意
检查器配置文件的XML格式可以在未来的版本中更改。
只可检查编码标准:
在Bug Finder中,禁用缺陷检查。使用这个选项发现缺陷(检查)
.
在代码验证器中,只检查源代码遵从性。使用这个选项验证水平(——)
(Polyspace代码验证).
这些规则在代码验证器分析的后期阶段被检查:MISRA C:2004规则9.1、13.7和21.1,以及MISRA C:2012规则2.2、9.1、14.3和18.1。如果在源代码遵从性检查时停止代码验证程序,分析可能不会发现所有违反这些规则的情况。根据您对选项的选择,您还可以看到结果的不同验证水平(——)
.例如,代码验证程序可能在第一次传递中怀疑某个变量可能未初始化,但在第二次传递中证明该变量已初始化。在这种情况下,你在第一次通过中看到违反MISRA C:2012规则9.1,但在第二次通过中没有看到。
经过分析,您可以看到代码标准的违反结果列表窗格。选择一个违例查看更多的细节结果细节窗格和源代码源窗格。
违反编码标准在源代码中用图标。
有关进一步的步骤,请参见回顾分析结果或在Web浏览器中查看Polyspace Bug查找结果.
您可以使用为编码标准显式定义的模板生成报告。使用CodingStandards
模板。这个模板:
在您的分析结果中只报告编码标准违反情况,并忽略其他类型的结果,如缺陷、运行时错误或代码度量。
在报告中为每个编码标准创建单独的章节。本章概述了所有违反该标准的行为,并列出了每一项。
若要指定报表模板,请使用该选项Bug查找器和代码验证器报告(-report-template)
.