Model Advisor Checks for CERT C, SWE, and ISO/IEC TS 17961 Coding Standards
These checks are used to validate that code generated by Embedded Coder® complies with the CERT C, CWE, and ISO/IEC TS 17961 (Embedded Coder) secure coding standards. These Model Advisor checks improve the likelihood of generating code that complies with CERT C, CWE, and ISO/IEC TS 17961 (Embedded Coder) secure coding standards.
To check that your code complies with the CERT C, CWE, and ISO/IEC TS 17961 (Embedded Coder) secure coding standards, open the Model Advisor and run the checks in By Task > Modeling Guidelines for Secure Coding (CERT C, CWE, ISO/IEC TS 17961).
Execution of these checks requires either Embedded Coder or Simulink® Check™. Some checks require Simulink Design Verifier™.
Secure Coding Standards | Model Advisor Check | Check ID | ||
---|---|---|---|---|
CERT C | CWE | ISO/IEC TS 17961 | ||
✔ | ✔ | ✔ | Check configuration parameters for secure coding standards | mathworks.security.CodeGenSettings |
✔ | ✔ | ✔ | Check for blocks not recommended for C/C++ production code deployment | mathworks.codegen.PCGSupport |
✔ | ✔ | ✔ | Check for blocks not recommended for secure coding standards | mathworks.security.BlockSupport |
✔ | ✔ | ✔ | Check usage of Assignment blocks | mathworks.misra.AssignmentBlocks |
✔ | ✔ | ✔ | Check for switch case expressions without a default case | mathworks.misra.SwitchDefault |
✔ | ✔ | ✔ | Check for bitwise operations on signed integers | mathworks.misra.CompliantCGIRConstructions |
✔ | ✔ | ✔ | Check for equality and inequality operations on floating-point values | mathworks.misra.CompareFloatEquality |
✔ | ✔ | ✔ | Check integer word lengths | mathworks.misra.IntegerWordLengths |
✔ | ✔ | ✔ | mathworks.sldv.deadlogic | |
✔ | ✔ | ✔ | mathworks.sldv.integeroverflow | |
✔ | ✔ | ✔ | mathworks.sldv.divbyzero | |
✔ | ✔ | ✔ | mathworks.sldv.arraybounds | |
✔ | ✔ | ✔ | mathworks.sldv.minmax | |
✔ | N/A | N/A | Check configuration parameters for MISRA C:2012 | mathworks.misra.CodeGenSettings |
✔ | N/A | N/A | mathworks.hism.hisl_0001 | |
✔ | N/A | N/A | mathworks.sldv.hism.hisl_0002 | |
✔ | N/A | N/A | mathworks.hism.hisl_0003 | |
✔ | N/A | N/A | mathworks.hism.hisl_0006 | |
✔ | N/A | N/A | mathworks.hism.hisl_0022 | |
✔ | N/A | N/A | mathworks.hism.hisl_0028 | |
✔ | N/A | N/A | mathworks.hism.hisl_0062 | |
✔ | N/A | N/A | mathworks.hism.hisl_0073 | |
✔ | N/A | N/A | Check safety-related optimization settings for data type conversions | mathworks.hism.hisl_0053 |
✔ | N/A | N/A | Check safety-related optimization settings for division arithmetic exceptions | mathworks.hism.hisl_0054 |
✔ | N/A | N/A | mathworks.hism.hisl_0031 | |
✔ | N/A | N/A | mathworks.hism.hisl_0032 |