name: misra-c-analysis description: MISRA C 合规性检查与静态分析集成 category: 代码质量 allowed-tools:
- Bash
- Read
- Write
- Edit
- Glob
- Grep
MISRA C 静态分析技能
概述
本技能为安全关键型嵌入式软件开发提供 MISRA C 合规性检查和静态分析集成,确保代码质量和标准合规性。
能力
MISRA C:2012 合规性
- 完整规则集检查
- 强制规则强制执行
- 必需规则验证
- 建议规则分析
- 指令合规性检查
静态分析集成
- PC-lint/PC-lint Plus 集成
- Cppcheck 配置与使用
- Coverity 静态分析
- Polyspace 集成
- LDRA 集成
- Parasoft C/C++test
违规管理
- 违规分类
- 严重性分级
- 抑制管理
- 误报跟踪
- 趋势分析
偏差处理
- 偏差记录生成
- 合理性说明文档
- 风险评估文档
- 审批流程支持
- 可追溯性维护
附加标准
- CERT C 指南检查
- CWE 弱点检测
- AUTOSAR C++14(如适用)
- IEC 61508 编码标准
- DO-178C 编码标准
报告
- 合规性报告生成
- 趋势和指标仪表板
- CI/CD 集成报告
- 认证文档
目标流程
misra-c-compliance.js- MISRA C 合规性检查functional-safety-certification.js- 安全标准合规性device-driver-development.js- 驱动程序代码质量
依赖项
- 静态分析工具(PC-lint, Cppcheck, Coverity, Polyspace)
- MISRA C:2012 指南文档
- 规则配置文件
使用场景
本技能在以下任务需要时被调用:
- MISRA C 合规性检查
- 静态分析配置
- 偏差文档编制
- 编码标准强制执行
- 安全认证支持
规则类别
强制规则(143 条规则)
必须始终遵守;不允许有偏差。
必需规则(32 条规则)
必须遵守,除非有正式记录的合理偏差。
建议规则(39 条规则)
应遵守;偏差需要记录,但形式要求较低。
指令(16 条指令)
无法通过静态分析完全验证的指南。
配置示例
PC-lint 配置(au-misra3.lnt)
// MISRA C:2012 配置
+e9*, +e1*, +e2*, +e3*
-append(9001,[MISRA 2012 Rule 1.1, required])
-append(9002,[MISRA 2012 Rule 1.2, advisory])
Cppcheck MISRA 配置
<misra>
<rule number="1.1" severity="error"/>
<rule number="1.2" severity="warning"/>
<suppress rule="15.5" file="legacy/*.c"/>
</misra>
偏差记录模板
## 偏差记录 DR-001
**规则**:MISRA C:2012 规则 X.Y
**位置**:file.c,第 123 行
**合理性说明**:[偏差的技术原因]
**风险评估**:[影响和缓解措施]
**批准**:[批准人姓名和日期]