针对 CERT C、CWE 和 ISO/IEC TS 17961 编码标准的模型顾问检查
这些检查用于验证 Embedded Coder® 生成的代码是否符合 CERT C、CWE 和 ISO/IEC TS 17961 (Embedded Coder) 安全编码标准。这些模型顾问检查有助于生成符合 CERT C、CWE 和 ISO/IEC TS 17961 (Embedded Coder) 安全编码标准的代码。
要检查您的代码是否符合 CERT C、CWE 和 ISO/IEC TS 17961 (Embedded Coder) 安全编码标准,请打开模型顾问,并运行按任务 > 安全编码(CERT C、CWE、ISO/IEC TS 17961)建模规范中的检查。
执行这些检查需要 Embedded Coder 或 Simulink® Check™。有些检查要求 Simulink Design Verifier™。
| 安全编码标准 | 模型顾问检查 | 检查 ID | ||
|---|---|---|---|---|
| CERT C | CWE | ISO/IEC TS 17961 | ||
| ✔ | ✔ | ✔ | 检查配置参数是否符合安全编码标准 | mathworks.security.CodeGenSettings |
| ✔ | ✔ | ✔ | 检查是否存在不建议用于 C/C++ 生产代码部署的模块 | mathworks.codegen.PCGSupport |
| ✔ | ✔ | ✔ | 检查是否存在不符合安全编码标准的模块 | mathworks.security.BlockSupport |
| ✔ | ✔ | ✔ | 检查 Assignment 模块的使用 | mathworks.misra.AssignmentBlocks |
| ✔ | ✔ | ✔ | 检查没有默认情况的 switch case 表达式 | mathworks.misra.SwitchDefault |
| ✔ | ✔ | ✔ | 检查有符号整数的按位运算 | mathworks.misra.CompliantCGIRConstructions |
| ✔ | ✔ | ✔ | 检查浮点数值的相等性和不等性运算 | mathworks.misra.CompareFloatEquality |
| ✔ | ✔ | ✔ | 检查整数字长 | mathworks.misra.IntegerWordLengths |
| ✔ | ✔ | ✔ | mathworks.sldv.deadlogic | |
| ✔ | ✔ | ✔ | mathworks.sldv.integeroverflow | |
| ✔ | ✔ | ✔ | mathworks.sldv.divbyzero | |
| ✔ | ✔ | ✔ | mathworks.sldv.arraybounds | |
| ✔ | ✔ | ✔ | mathworks.sldv.minmax | |
| ✔ | 不适用 | 不适用 | 检查 MISRA C:2023 的配置参数 | mathworks.misra.CodeGenSettings |
| ✔ | 不适用 | 不适用 | mathworks.hism.hisl_0001 | |
| ✔ | 不适用 | 不适用 | mathworks.sldv.hism.hisl_0002 | |
| ✔ | 不适用 | 不适用 | mathworks.hism.hisl_0003 | |
| ✔ | 不适用 | 不适用 | mathworks.hism.hisl_0006 | |
| ✔ | 不适用 | 不适用 | mathworks.hism.hisl_0022 | |
| ✔ | 不适用 | 不适用 | mathworks.hism.hisl_0028 | |
| ✔ | 不适用 | 不适用 | mathworks.hism.hisl_0062 | |
| ✔ | 不适用 | 不适用 | mathworks.hism.hisl_0073 | |
| ✔ | 不适用 | 不适用 | mathworks.hism.hisl_0053 | |
| ✔ | 不适用 | 不适用 | mathworks.hism.hisl_0054 | |
| ✔ | 不适用 | 不适用 | mathworks.hism.hisl_0031 | |
| ✔ | 不适用 | 不适用 | mathworks.hism.hisl_0032 | |