Main Content

Model Checks for 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).

Model Advisor Checks for CERT C, SWE, and ISO/IEC TS 17961 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.

Unless otherwise noted, execution of these checks requires either Embedded Coder® or Simulink® Check™.

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 lengthmathworks.misra.IntegerWordLengths

Detect Dead Logic

This check requires Simulink Design Verifier™.

mathworks.sldv.deadlogic

Detect Integer Overflow

This check requires Simulink Design Verifier.

mathworks.sldv.integeroverflow

Detect Division by Zero

This check requires Simulink Design Verifier.

mathworks.sldv.divbyzero

Detect Out Of Bound Array Access

This check requires Simulink Design Verifier.

mathworks.sldv.arraybounds

Detect Specified Minimum and Maximum Value Violations

This check requires Simulink Design Verifier.

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

Check usage of Abs blocks

This check requires Simulink Check.

mathworks.hism.hisl_0001
N/AN/A

Check usage of remainder and reciprocal operations

This check requires Simulink Design Verifier.

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

Check usage of square root operations

This check requires Simulink Design Verifier.

mathworks.hism.hisl_0003
N/AN/A

Check usage of While Iterator blocks

This check requires Simulink Check.

mathworks.hism.hisl_0006
N/AN/A

Check data types for blocks with index signals

This check requires Simulink Check.

mathworks.hism.hisl_0022
N/AN/A

Check usage of Reciprocal Sqrt blocks

This check requires Simulink Design Verifier.

mathworks.hism.hisl_0028
N/AN/A

Check global variables in graphical functions

This check requires Simulink Check and Stateflow®.

mathworks.hism.hisl_0062
N/AN/A

Check usage of bit-shift operations

This check requires Simulink Check.

mathworks.hism.hisl_0073
N/AN/A

Check safety-related optimization settings for data type conversions

This check requires Simulink Check.

mathworks.hism.hisl_0053
N/AN/A

Check safety-related optimization settings for division arithmetic exceptions

This check requires Simulink Check.

mathworks.hism.hisl_0054
N/AN/A

Check model file name

This check requires Simulink Check.

mathworks.hism.hisl_0031
N/AN/A

Check model object names

This check requires Simulink Check.

mathworks.hism.hisl_0032

See Also

Related Topics