检查编码标准违规
使用 polyspace®,您可以检查您的 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)
规范(仅限 bug finder)
配置编码规则检查
指定标准和预定义检查项子集
通过 polyspace 分析选项指定编码规则。当您运行 bug finder 时,分析会查找编码违规并运行其他检查。您可以禁用其他检查并仅查找编码违规。
在 polyspace 用户界面中(桌面端产品),相应选项位于 coding standards & code metrics 节点下的 configuration 窗格中。
对于 c 代码,请使用下列选项之一:
对于生成代码,请启用特定于生成代码的选项。
对于生成代码,请启用特定于生成代码的选项。
对于 c 代码,请使用下列选项之一:
您可以指定预定义的规则子集,例如 misra c:2012 的 “mandatory
” 子集。这些子集通常由标准定义。
您还可以使用正则表达式定义标识符的命名约定。请参阅。
自定义检查项子集
您还可以根据编码标准自行指定规则子集,而非指定预定义子集。
用户界面(仅限桌面端产品)
选择编码标准。从规则子集的下拉列表中,选择 “
from-file
”。点击 edit。在 checkers selection 窗口中,编码标准将突出显示在左侧窗格中。在右侧窗格中,选择您要在分析中包含的规则。
选择 guidelines > software complexity 检查项时,请审查它们的阈值。如果默认阈值不可接受,请在 threshold 列中指定一个合适的阈值。请参阅。
选择 custom 规则时,请审查规则的 pattern 和 convention。请参阅。
保存规则选择时,配置将保存到一个 xml 文件中,您可以重复使用该文件以进行多个分析。针对所有编码标准选择的规则都包含在这一个文件中。您可以在多个工程中重复使用此文件,以在团队或组织中强制应用通用的编码标准。要在 polyspace 用户界面中的另一个工程中重复使用此文件,请执行以下操作:
在工程配置中选择一个编码标准。从规则子集的下拉列表中,选择 “
from-file
”。点击 edit 并浏览到文件位置。或者,输入文件名作为 选项的参数。
命令行. 使用 polyspace 桌面端产品,您可以在用户界面中创建一个编码标准 xml 文件,然后使用此文件进行命令行分析。请使用 选项提供此 xml 文件。
使用 polyspace server 产品时,您必须从头开始创建编码标准 xml。根据您要启用的标准,为
中的某个文件创建一个可写副本,并使用该 xml 文件中的条目关闭规则(模板中启用了对应标准的所有规则)。其中,polyspaceserverroot
\help\toolbox\bugfinder\examples\coding_standards_xml
是 polyspace server 产品的根安装文件夹,例如 polyspaceserverroot
c:\program files\polyspace server\r2022b
。
例如,要关闭 misra c:2012 规则 8.1,请在文件 misra_c_2012_rules.xml
的副本中使用以下条目:
... ... ......
使用规范检查项时,请在 threshold
标记之间指定它们的阈值。例如,要激活 检查项,并将该检查项的阈值设置为 5,请在 guidelines.xml
的副本中使用以下条目:
5
要在 bug finder 中使用此 xml 文件进行 misra c:2012 分析,请输入以下命令:
polyspace-bug-finder -sources filename -misra3 from-file -checkers-selection-file misra_c_2012_rules.xml
有关规则 id 和节名称的完整列表,请参阅:
注意
检查项配置文件的 xml 格式可能会在以后的版本中有所变化。
仅检查编码标准
bug finder 分析会检查 c/c 代码是否:
存在一组默认的缺陷 (bug)
遵守您指定的任何编码标准。
要仅检查编码标准,请完全禁用缺陷检查。为 选项指定 “none
”。
审查编码违规
分析完成后,您可以在 results list 窗格中查看编码标准违规。选择某个违规可在 result details 窗格中查看更多详细信息,还可在 source 窗格中查看源代码。
编码标准违规在源代码中用 图标指示。
有关进一步的步骤,请参阅或。
生成报告
您可以使用针对编码标准明确定义的模板生成报告。请使用 “codingstandards
” 模板。此模板:
仅报告分析结果中的编码标准违规,并忽略其他类型的结果,例如缺陷、运行时错误或代码度量。
在报告中为每个编码标准创建单独的章节,这些章节将概述并列出违反该标准的所有违规项。
要指定报告模板,请使用 选项。