MISRA-C:2004 Compliance Matrix

In this section you will find a description of all MISRA (The Motor Industry Software Reliability Association) rules. Due to copyright limitations, we have altered rule descriptions. The original descriptions can be found in Guidelines for The Use of The C Language in Vehicle Based Software, October 2004, The Motor Industry Software Reliability Association, Watling Street, Nuneaton, Warwickshire CV10 OTU, www.misra.org.uk

Rules are classified by MISRA as either required Re or advisory Ad. The succeeding sections list all rules along with support notes: whether the rule is fully supported (those rules are marked MISRA-C Supported Icon Re/Ad, or either not statically checkable or not supported in DAC MISRA-C Non Supported Icon Re-/Ad-. Current list of unsupported rules can also be viewed in the "Options > Static Code Analyzer".

Environment

MISRA-C Supported Icon 1.1 (Re)

MISRA-C Non Supported Icon 1.2 (Re)

MISRA-C Non Supported Icon 1.3 (Re)

MISRA-C Non Supported Icon 1.4 (Re)

MISRA-C Non Supported Icon 1.5 (Ad)

Language extensions

MISRA-C Supported Icon 2.1 (Re).

MISRA-C Supported Icon 2.2 (Re)

MISRA-C Supported Icon 2.3 (Re)

MISRA-C Non Supported Icon 2.4 (Ad)

Documentation

MISRA-C Non Supported Icon 3.1 (Re)

MISRA-C Non Supported Icon 3.2 (Re)

MISRA-C Non Supported Icon 3.3 (Ad)

MISRA-C Supported Icon 3.4 (Re)

MISRA-C Non Supported Icon 3.5 (Re)

MISRA-C Non Supported Icon 3.6 (Re)

Character sets

MISRA-C Supported Icon 4.1 (Re)

MISRA-C Supported Icon 4.2 (Re)

Identifiers

MISRA-C Supported Icon 5.1 (Re)

MISRA-C Supported Icon 5.2 (Re)

MISRA-C Non Supported Icon 5.3 (Re)

MISRA-C Supported Icon 5.4 (Re)

MISRA-C Non Supported Icon 5.5 (Ad)

MISRA-C Non Supported Icon 5.6 (Ad)

MISRA-C Non Supported Icon 5.7 (Ad)

Types

MISRA-C Non Supported Icon 6.1 (Re)

MISRA-C Non Supported Icon 6.2 (Re)

MISRA-C Supported Icon 6.3 (Ad)

MISRA-C Supported Icon 6.4 (Re)

MISRA-C Non Supported Icon 6.5 (Re)

Constants

MISRA-C Supported Icon 7.1 (Re)

Declarations and definitions

MISRA-C Non Supported Icon 8.1 (Re)

MISRA-C Supported Icon 8.2 (Re)

MISRA-C Non Supported Icon 8.3 (Re)

MISRA-C Supported Icon 8.4 (Re)

MISRA-C Non Supported Icon 8.5 (Re)

MISRA-C Supported Icon 8.6 (Ad)

MISRA-C Supported Icon 8.7 (Re)

MISRA-C Supported Icon 8.8 (Re)

MISRA-C Supported Icon 8.9 (Re)

MISRA-C Supported Icon 8.10 (Re)

MISRA-C Supported Icon 8.11 (Re)

MISRA-C Supported Icon 8.12 (Re)

Initialisation

MISRA-C Non Supported Icon 9.1 (Re)

MISRA-C Non Supported Icon 9.2 (Re)

MISRA-C Supported Icon 9.3 (Re)

Arithmetic type conversion

MISRA-C Non Supported Icon 10.1 (Re)

MISRA-C Non Supported Icon 10.2 (Re)

MISRA-C Supported Icon 10.3 (Re)

MISRA-C Non Supported Icon 10.4 (Re)

MISRA-C Non Supported Icon 10.5 (Re)

MISRA-C Supported Icon 10.6 (Re)

Pointer type conversion

MISRA-C Non Supported Icon 11.1 (Re)

MISRA-C Non Supported Icon 11.2 (Re)

MISRA-C Non Supported Icon 11.3 (Ad)

MISRA-C Non Supported Icon 11.4 (Ad)

MISRA-C Non Supported Icon 11.5 (Re)

Expressions

MISRA-C Non Supported Icon 12.1 (Ad)

MISRA-C Supported Icon 12.2 (Re)

MISRA-C Supported Icon 12.3 (Re)

MISRA-C Supported Icon 12.4 (Re)

MISRA-C Supported Icon 12.5 (Re)

MISRA-C Supported Icon 12.6 (Ad)

MISRA-C Supported Icon 12.7 (Re)

MISRA-C Non Supported Icon 12.8 (Re)

MISRA-C Supported Icon 12.9 (Re)

MISRA-C Supported Icon 12.10 (Re)

MISRA-C Non Supported Icon 12.11 (Ad)

MISRA-C Non Supported Icon 12.12 (Re)

MISRA-C Supported Icon 12.13 (Ad)

Control statement expressions

MISRA-C Supported Icon 13.1 (Re)

MISRA-C Supported Icon 13.2 (Ad)

MISRA-C Supported Icon 13.3 (Re)

MISRA-C Supported Icon 13.4 (Re)

MISRA-C Non Supported Icon 13.5 (Re)

MISRA-C Non Supported Icon 13.6 (Re)

MISRA-C Non Supported Icon 13.7 (Re)

Control flow

MISRA-C Non Supported Icon 14.1 (Re)

MISRA-C Supported Icon 14.2 (Re)

MISRA-C Non Supported Icon 14.3 (Re)

MISRA-C Supported Icon 14.4 (Re)

MISRA-C Supported Icon 14.5 (Re)

MISRA-C Supported Icon 14.6 (Re)

MISRA-C Supported Icon 14.7 (Re)

MISRA-C Supported Icon 14.8 (Re)

MISRA-C Supported Icon 14.9 (Re)

MISRA-C Supported Icon 14.10 (Re)

Switch statements

MISRA-C Non Supported Icon 15.1 (Re)

MISRA-C Supported Icon 15.2 (Re)

MISRA-C Supported Icon 15.3 (Re)

MISRA-C Supported Icon 15.4 (Re)

MISRA-C Supported Icon 15.5 (Re)

Functions

MISRA-C Supported Icon 16.1 (Re)

MISRA-C Supported Icon 16.2 (Re)

MISRA-C Supported Icon 16.3 (Re)

MISRA-C Non Supported Icon 16.4 (Re)

MISRA-C Supported Icon 16.5 (Re)

MISRA-C Supported Icon 16.6 (Re)

MISRA-C Non Supported Icon 16.7 (Ad)

MISRA-C Supported Icon 16.8 (Re)

MISRA-C Supported Icon 16.9 (Re)

MISRA-C Non Supported Icon 16.10 (Re)

Pointers and arrays

MISRA-C Non Supported Icon 17.1 (Re)

MISRA-C Supported Icon 17.2 (Re)

MISRA-C Non Supported Icon 17.3 (Re)

MISRA-C Supported Icon 17.4 (Re)

MISRA-C Supported Icon 17.5 (Ad)

MISRA-C Supported Icon 17.6 (Re)

Structures and unions

MISRA-C Supported Icon 18.1 (Re)

MISRA-C Non Supported Icon 18.2 (Re)

MISRA-C Non Supported Icon 18.3 (Re)

MISRA-C Supported Icon 18.4 (Re)

Preprocessinf directives

MISRA-C Non Supported Icon 19.1 (Ad)

MISRA-C Supported Icon 19.2 (Ad)

MISRA-C Supported Icon 19.3 (Re)

MISRA-C Non Supported Icon 19.4 (Re)

MISRA-C Supported Icon 19.5 (Re)

MISRA-C Supported Icon 19.6 (Re)

MISRA-C Supported Icon 19.7 (Ad)

MISRA-C Supported Icon 19.8 (Re)

MISRA-C Supported Icon 19.9 (Re)

MISRA-C Supported Icon 19.10 (Re)

MISRA-C Supported Icon 19.11 (Re)

MISRA-C Supported Icon 19.12 (Re)

MISRA-C Supported Icon 19.13 (Ad)

MISRA-C Supported Icon 19.14 (Re)

MISRA-C Supported Icon 19.15 (Re)

MISRA-C Supported Icon 19.16 (Re)

MISRA-C Supported Icon 19.17 (Re)

Standard libraries

MISRA-C Supported Icon 20.1 (Re)

MISRA-C Supported Icon 20.2 (Re)

MISRA-C Non Supported Icon 20.3 (Re)

MISRA-C Supported Icon 20.4 (Re)

MISRA-C Supported Icon 20.5 (Re)

MISRA-C Supported Icon 20.6 (Re)

MISRA-C Supported Icon 20.7 (Re)

MISRA-C Supported Icon 20.8 (Re)

MISRA-C Supported Icon 20.9 (Re)

MISRA-C Supported Icon 20.10 (Re)

MISRA-C Supported Icon 20.11 (Re)

MISRA-C Supported Icon 20.12 (Re)

Run-time failures

MISRA-C Non Supported Icon 21.1 (Re) 

a) static analysis tools/techniques;
b) dynamic analysis tools/techniques;
c) explicit coding of checks to handle run-time faults.

Percentage of MISRA-C:2004 Compliance Matrix Support in DAC

Number of Rules: 141
Number of Required Rules: 120
Number of Advisory Rules: 21

Category

Number of Rules
141

Number of Required Rules
120

Number of Advisory Rules
21

MISRA-C Supported Icon Fully supported

89
63%

80
67%

9
42%

MISRA-C Non Supported Icon Not supported

52
37%

40
33%

12
58%