检查并审查编码标准违规
使用 Polyspace®,您可以检查您的 C/C++ 代码是否违反了 MISRA C™:2023、MISRA C++:2023 和 AUTOSAR C++:14 等多种外部编码标准。有关支持的标准的列表,请参阅编码标准。遵守编码标准可以减少缺陷数量并提高代码质量。
您可以检查代码是否违反了支持的编码标准中预定义的编码规则集。或者,您可以选择并维护一组自定义编码规则。
配置编码标准用户界面
要在 Polyspace 平台用户界面中配置编码标准违规检查,请打开“检查项选择”对话框:
双击工程窗格的配置节点。
在静态分析选项卡上,选择缺陷和编码标准。选择使用自定义检查项文件,然后点击检查项激活文件选项旁边的打开 (
)。
在“检查项选择”对话框中,从支持的编码标准中选择编码规则。一些编码标准(如 MISRA C:2023 或 MISRA C++:2023)支持预定义子集,例如强制、必需和建议。您可以通过选中相应的复选框,从这些预定义的子集中选择规则。或者,激活单个编码规则。使用过滤器查找要激活的规则。
激活编码规则后,将您的选择另存为可重用的检查项激活文件 (
.xml)。
除了激活编码规则外,您还可以使用“检查项选择”对话框执行以下操作:
为编码规则添加注释。运行分析后,这些注释会出现在结果审查中。使用注释可添加可用于对结果进行排序的额外信息。
配置规范检查的阈值。请参阅Reduce Software Complexity by Using Polyspace Checkers。
配置自定义规则的模式和约定。请参阅Enforce Naming Conventions for C/C++ Variables and Functions。
在命令行中配置编码标准
在命令行中,您可以通过以下两种方式激活编码规则和缺陷检查项:
检查项激活文件 - 如果有预先存在的检查项激活文件,请将其指定为
检查项激活文件 (-checkers-activation-file)选项的输入:您无需为单个编码标准或缺陷指定选项。如果没有预先存在的激活文件,请在 Polyspace 用户界面中创建一个激活文件,然后在后续的命令行分析中重用该文件。如果您正在运行 Polyspace Bug Finder Server 并且无法访问 Polyspace 平台用户界面,则可以在文本编辑器中创建激活文件。请参阅Create New Checkers Activation File Without Polyspace User Interfacepolyspace-bug-finder -sources src.c -checkers-activation-file my_activation.xml
特定于标准的选项 - 或者,您可以为编码标准显式启用各个选项。在此工作流中,您只能选择预定义的编码规则子集。例如,下面的命令会激活被归类为“必需”的 MISRA C:2023 规则:
您可以使用以下选项及其值来激活相应编码标准中的规则子集:polyspace-bug-finder -sources src.c -misra-c-2023 required
检查 MISRA C:2023 (-misra-c-2023)。对于生成代码,请指定使用生成代码的要求 (-misra-c-2023-agc-mode)选项。检查 MISRA C:2012 (-misra3)。要分析生成代码,请指定使用生成代码的要求 (-misra3-agc-mode)选项。
审查编码违规

分析完成后,您可以在结果列表窗格中查看编码标准违规。选择某个违规可在结果详细信息窗格中查看更多详细信息,还可在源代码窗格中查看源代码。
编码标准违规在源代码中用
图标指示。
生成报告
您可以使用针对编码标准明确定义的 CodingStandards 模板生成编码标准违规报告。此模板:
仅报告分析结果中的编码标准违规,并忽略其他类型的结果,例如缺陷、运行时错误或代码度量。
在报告中为每个编码标准创建单独的章节。这些章节将概述并列出违反该标准的所有违规项。
若要了解如何在运行分析后生成报告,请参阅Generate Reports of Bug Finder or Code Prover Results。