주요 콘텐츠

Model Advisor Checks for CERT C, CWE, and ISO/IEC TS 17961 Coding Standards

R2026b

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 StandardsModel Advisor CheckCheck ID
CERT CCWEISO/IEC TS 17961
✔✔✔Check configuration parameters for secure coding standardsmathworks.security.CodeGenSettings
✔✔✔Check for blocks not recommended for C/C++ production code deploymentmathworks.codegen.PCGSupport
✔✔✔Check for blocks not recommended for secure coding standardsmathworks.security.BlockSupport
✔✔✔Check usage of Assignment blocksmathworks.misra.AssignmentBlocks
✔✔✔Check for switch case expressions without a default casemathworks.misra.SwitchDefault
✔✔✔Check for bitwise operations on signed integersmathworks.misra.CompliantCGIRConstructions
✔✔✔Check for equality and inequality operations on floating-point valuesmathworks.misra.CompareFloatEquality
✔✔✔Check integer word lengthsmathworks.misra.IntegerWordLengths
✔✔✔

Check for dead logic

mathworks.sldv.deadlogic
✔✔✔

Check for integer overflow

mathworks.sldv.integeroverflow
✔✔✔

Check for division by zero

mathworks.sldv.divbyzero
✔✔✔

Check for out of bound array access

mathworks.sldv.arraybounds
✔✔✔

Check for specified minimum and maximum value violations

mathworks.sldv.minmax
✔N/AN/ACheck configuration parameters for MISRA C:2023mathworks.misra.CodeGenSettings
✔N/AN/A

Check usage of Abs blocks

mathworks.hism.hisl_0001
✔N/AN/A

Check usage of remainder and reciprocal operations

mathworks.sldv.hism.hisl_0002
✔N/AN/A

Check usage of square root operations

mathworks.hism.hisl_0003
✔N/AN/A

Check usage of While Iterator blocks

mathworks.hism.hisl_0006
✔N/AN/A

Check data types for blocks with index signals

mathworks.hism.hisl_0022
✔N/AN/A

Check usage of Reciprocal Sqrt blocks

mathworks.hism.hisl_0028
✔N/AN/A

Check global variables in graphical functions

mathworks.hism.hisl_0062
✔N/AN/A

Check usage of bit-shift operations

mathworks.hism.hisl_0073
✔N/AN/A

Check safety-related optimization settings for data type conversions

mathworks.hism.hisl_0053
✔N/AN/A

Check safety-related optimization settings for integer division arithmetic exceptions

mathworks.hism.hisl_0054
✔N/AN/A

Check model file name

mathworks.hism.hisl_0031
✔N/AN/A

Check model object names

mathworks.hism.hisl_0032