有多层空间®,你可以检查你的C/ c++代码是否违反了编码规则,比如MISRA C®: 2012规则。遵循编码规则可以减少缺陷的数量并提高代码的质量。
Polyspace可以检测到违反这些规则的情况:
Misra C:2004
Misra C:2012
MISRA®c++
JSF AV c++
AutoSAR C ++ 14(仅限Bug Finder)
CERT®C(仅限Bug Finder)
CERT c++(仅限Bug Finder)
ISO®/ IEC TS 17961(仅限Bug Finder)
的指导方针
通过Polyspace分析选项指定编码规则。当您运行Bug Finder或Code Prover时,除了其他检查外,分析还会查找编码规则违反。您可以禁用其他检查,并只查找编码规则违反。
在PolySpace用户界面(台式产品)中,选项在s manbetx 845配置窗格下面编码标准和代码度量节点。
对于C代码,请使用以下选项之一:
对于生成的代码,请启用特定于生成的代码的选项。
对于生成的代码,请启用特定于生成的代码的选项。
对于c++代码,使用以下选项之一:
您可以指定预定义的规则子集,例如:强制的
对于issra c:2012。这些子集通常由标准定义。
您还可以使用正则表达式定义标识符的命名约定。看到创建自定义编码规则.
您可以从编码标准指定您自己的规则子集,而不是预定义的子集。
用户界面(仅限桌面产品)s manbetx 845
选择编码标准。从规则子集的下拉列表中选择从文件
.点击编辑.
在里面调查结果选择窗口,编码标准在左窗格上突出显示。在右窗格中,选择要在分析中包含的规则。
选择时的指导方针>软件复杂性检查员,审核他们的门槛。如果默认阈值不可接受,请指定适当的阈值临界点柱子。看 。
选择时风俗规则,回顾图案和习俗对于规则。看到检查自定义规则(-custom-rules)
(PolySpace Bug Finder访问).
当您保存规则选择时,配置将保存在一个XML文件中,您可以在多个分析中重用该文件。同一个文件包含为所有编码标准选择的规则。您可以跨多个项目重用此文件,以在团队或组织中实施公共编码标准。在Polyspace用户界面的另一个项目中重用这个文件:
在项目配置中选择一个编码标准。从规则子集的下拉列表中选择从文件
.
点击编辑然后浏览到文件位置。或者,输入文件名作为选项的参数按文件设置检查器(-checkers-selection-file)
.
命令行。使用PolySpace桌面产品,您可以在用户界面中创建s manbetx 845编码标准XML文件,然后使用此文件进行命令行分析。使用该选项提供此XML文件按文件设置检查器(-checkers-selection-file)
.
使用PolySpace服务器产品,您必须从头开始创建s manbetx 845编码标准XML。根据要启用的标准,制作其中一个文件的可写副本
使用XML文件中的条目关闭规则(在模板中启用标准中的所有规则)。这里,polyspaceserverroot
\ help \ toolbox \ polyspace_bug_finder_server \ examples \ coding_standards_xml
是PolySpace服务器产品的根安装文件夹,例如,s manbetx 845polyspaceserverroot
C:\ Program Files \ PolySpace Server \ R2019A
.
例如,要关闭Misra C:2012规则8.1,请在文件的副本中使用此条目misra_c_2012_rules.xml
:
<标准名称=“MISRA C:2012”> ... <部分名称=“8声明和定义”> ...check> ... 部分> ... 标准>
在使用指南检查器时,指定它们的阈值临界点
标签。例如,激活检查器圈复杂性超过阈值
并将校验器的阈值设置为五个,请在副本中使用此条目Guidelines.xml.xml.
:
<阈值> 5 threshold> check>
在Bug Finder中使用MISRA C:2012分析的XML文件,输入:
PolySpace-Bug-Finder -Sources文件名-misra3 from-file -checkers-selection-file
有关规则id-s和节名的完整列表,请参见:
请注意
Checker配置文件的XML格式可以在将来的版本中更改。
仅检查编码标准:
在Bug Finder中,禁用缺陷检查。使用选项发现缺陷(检查)
.
在代码先生中,只检查源合规性。使用选项验证级别(-to)
(Polyspace代码验证).
这些规则在Code Prover分析的后期阶段被检查:MISRA C:2004规则9.1、13.7和21.1,以及MISRA C:2012规则2.2、9.1、14.3和18.1。如果您在源代码遵从性检查时停止Code Prover,那么分析可能不会发现所有违反这些规则的情况。您还可以根据您对选项的选择看到结果的不同验证级别(-to)
(Polyspace代码验证).例如,代码验证器可能在第一次传递中怀疑变量可能未初始化,但在第二次传递中证明变量已初始化。在这种情况下,你会发现在第一次通过时违反了MISRA C:2012规则9.1,但在第二次通过时却没有。
在分析之后,您会看到编码标准违反了结果列表窗格。控件上的进一步详细信息结果细节窗格和源代码来源窗格。
源代码中指示违反编码标准的违规图标。
有关进一步步骤,请参见审查分析结果.
您可以使用为编码标准显式定义的模板生成报告。使用编码标准
模板。这个模板:
在您的分析结果中只报告编码标准的违反,而忽略其他类型的结果,如缺陷、运行时错误或代码度量。
为每个编码标准在报告中创建单独的章节。本章提供了所有违反标准的概述,然后列出了每一项违反。
若要指定报表模板,请使用该选项Bug Finder和代码箴言报告(-report-templation)
.