有多层空间®,您可以检查您的C / C ++代码以违反Misra C等编码规则®:2012规则。遵守编码规则可以减少缺陷的数量并提高代码的质量。
PolySpace可以检测到这些规则的违规行为:
Misra C:2004
Misra C:2012
臭马克拉®C ++
JSF AV C ++
AutoSAR C ++ 14(仅限臭虫查找器)
证明®C(仅限臭虫查找器)
CERT C ++(仅限臭虫查找器)
ISO®/ IEC TS 17961(仅限臭虫查找器)
指导方针(仅限臭虫查找器)
通过PolySpace分析选项指定编码规则。运行Bug Finder或Code Prover时,除其他选项外,分析还查找编码规则违规。您可以禁用另一个检查并仅查找编码规则违规。
在PolySpace用户界面(台式产品)中,选项位于下载188bet金宝搏配置窗格下面编码标准和代码指标节点。
对于C代码,请使用以下选项之一:
对于生成的代码,请启用特定于生成的代码的选项。
对于生成的代码,请启用特定于生成的代码的选项。
对于C ++代码,请使用以下选项之一:
例如,可以指定预定义的规则子集,强制的
对于issra c:2012。这些子集通常由标准定义。
您还可以定义使用正则表达式的标识符的命名约定。看创建自定义编码规则。
而不是预定义的子集,您可以从编码标准指定自己的规则子集。
用户界面(仅限桌面产品)下载188bet金宝搏
选择编码标准。从规则子集的下拉列表中,选择从文件
。点击编辑。
在里面调查结果选择窗口,编码标准在左窗格上突出显示。在右窗格中,选择要在分析中包含的规则。
选择时指导方针>软件复杂性检查员,审核他们的门槛。如果默认阈值不可接受,请指定适当的阈值临界点柱子。看检查指南(-guidelines)
。
选择时风俗规则,回顾图案和习俗对于规则。看检查自定义规则(-Custom-curren)
。
保存规则选择时,配置将保存在XML文件中,您可以重用多次分析。相同的文件包含为所有编码标准选择的规则。您可以在多个项目中重复使用此文件,以在团队或组织中强制执行常见的编码标准。要重用此文件在PolySpace用户界面中的另一个项目中:
在项目配置中选择编码标准。从规则子集的下拉列表中,选择从文件
。
点击编辑并浏览到文件位置。或者,输入文件名作为选项的参数按文件设置检查器(-Checkers-Selection-File)
。
命令行。使用PolySpace Desktop产品,您可以在用下载188bet金宝搏户界面中创建编码标准XML文件,然后使用此文件进行命令行分析。使用该选项提供此XML文件按文件设置检查器(-Checkers-Selection-File)
。
使用PolySpace服务器产品,您必须从头开始创建下载188bet金宝搏一个编码标准XML。根据要启用的标准,制作其中一个文件的可写副本
并在XML文件中使用条目关闭规则(在模板中启用了来自标准的所有规则)。这里,polyspaceerverroot.
\ help \ toolbox \ bugfinder \ examples \ coding_standards_xml
例如,PolySpace服务器产品的根安装文件夹,例如,下载188bet金宝搏polyspaceerverroot.
C:\ Program Files \ PolySpace Server \ R2019A
。
例如,要关闭Misra C:2012规则8.1,请在文件的副本中使用此条目misra_c_2012_rules.xml.
:
<标准名称=“MISRA C:2012”> ... <部分名称=“8声明和定义”> ...CHECK> ... 部分> ... 标准>
使用指南检查器时,请在其中指定其阈值临界点
标签。例如,激活检查器循环复杂性超过阈值
并将校验器的阈值设置为五个,请在副本中使用此条目Guidelines.xml.
:
<阈值> 5 阈值> check>
要使用MISRA的XML文件:2012 Bug Finder中的分析,请输入:
PolySpace-Bug-Finder -Sources文档名称-misra3 from-file -checkers-selection-file misra_c_2012_rules.xml
有关规则ID-S和部分名称的完整列表,请参阅:
笔记
Checker配置文件的XML格式可以在将来的版本中更改。
仅检查编码标准:
在Bug Finder中,禁用缺陷检查。使用选项查找缺陷(-Checkers)
。
在代码先生中,仅检查源合规性。使用选项验证级别(-to)
(PolySpace代码先报。
这些规则被检查在守则分析的后期阶段:MISRA C:2004规则9.1,13.7和21.1,及21.1条规则2.2,9.1,14.3和18.1。如果在源合规性检查中停止代码抄本,则分析可能无法找到所有违反这些规则的违规行为。您还可以看到基于您的选择的结果差异验证级别(-to)
。例如,可以在第一通过的代码抄本嫌疑人可以在初始化变量的第二次通过中被解释,但是在第二次通过中被证明。在这种情况下,您认为违反MISRA C:2012第9.1条第9.1条,但在第二次通过中。
分析后,您可以看到编码标准违规行为结果列表窗格。选择违规,以查看更多详情结果细节窗格和源代码来源窗格。
源代码中指示违反编码标准的违规图标。
有关进一步的步骤,请参阅审查分析结果或者查看PolySpace Bug Finder将导致Web浏览器。
您可以使用用于编码标准的模板来生成报告。使用编码标准
模板。这个模板:
仅报告您的分析结果中的编码标准违规,并省略其他类型的结果,例如缺陷,运行时错误或代码度量。
为每个编码标准创建一个单独的章节。本章概述了所有违反标准的违规,然后列出了每次违规行为。
要指定报告模板,请使用该选项Bug Finder和代码先子报告(-report-templation)
。