Main Content

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 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

Detect Dead Logic

mathworks.sldv.deadlogic

Detect Integer Overflow

mathworks.sldv.integeroverflow

Detect Division by Zero

mathworks.sldv.divbyzero

Detect Out Of Bound Array Access

mathworks.sldv.arraybounds

Detect Specified Minimum and Maximum Value Violations

mathworks.sldv.minmax
N/AN/ACheck configuration parameters for MISRA C:2012mathworks.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 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