MISRA Compliance 🔗

MISRA C is a widely accepted model for best practices used by automotive, telecom, aerospace, medical, and other critical industries. Charisma honors all Mandatory, Required, and Advisory rules defined by MISRA C:2012 and its amendments.

Conformance to most MISRA rules is verified with static analysis tools. If you believe there is a MISRA violation and/or an inaccuracy in the compliance table, then please report it here.

Compliance Summary Table 🔗

The MISRA C:2012 rule texts cannot be freely distributed therefore the compliance summary table lists the rule number, but omits the description. It is assumed the reader has access to the MISRA C:2012 standard and can cross-reference the rule numbers with the standard.

Click here to view a tool-generated MISRA compliance summary table.

Implementation 🔗

Directive Category Compliance
D1.1 Required Compliant (manually verified)

Compilation and Build 🔗

Directive Category Compliance
D2.1 Required Compliant (verified with GCC, Clang, and MSVC)

Requirements Traceability 🔗

Directive Category Compliance
D3.1 Required Compliant (manually verified)

Code Design 🔗

Directive Category Compliance
D4.1 Required Compliant (manually verified)
D4.2 Advisory Compliant (manually verified)
D4.3 Required Compliant
D4.4 Advisory Compliant
D4.5 Advisory Compliant
D4.6 Advisory Compliant
D4.7 Required Compliant (manually verified)
D4.8 Advisory Compliant (manually verified)
D4.9 Advisory Compliant
D4.10 Required Compliant (manually verified)
D4.11 Required Compliant (verified by unit tests)
D4.12 Required Compliant (manually verified)
D4.13 Advisory Compliant (manually verified)

Standard C Environment 🔗

Rule Category Compliance
1.1 Required Compliant
1.2 Advisory Compliant
1.3 Required Compliant
1.4 Required Compliant
1.5 Required Compliant

Unused Code 🔗

Rule Category Compliance
2.1 Required Compliant
2.2 Required Compliant
2.3 Advisory Compliant
2.4 Advisory Compliant
2.5 Advisory Compliant
2.6 Advisory Compliant
2.7 Advisory Compliant
2.8 Advisory Compliant

Comments 🔗

Rule Category Compliance
3.1 Required Compliant
3.2 Required Compliant

Character Sets and Lexical Conventions 🔗

Rule Category Compliance
4.1 Required Compliant
4.2 Advisory Compliant

Identifiers 🔗

Rule Category Compliance
5.1 Required Compliant
5.2 Required Compliant
5.3 Required Compliant
5.4 Required Compliant
5.5 Required Compliant
5.6 Required Compliant
5.7 Required Compliant
5.8 Required Compliant
5.9 Advisory Compliant

Types 🔗

Rule Category Compliance
6.1 Required Compliant
6.2 Required Compliant
6.3 Required Compliant

Literals and Constants 🔗

Rule Category Compliance
7.1 Required Compliant
7.2 Required Compliant
7.3 Required Compliant
7.4 Required Compliant
7.5 Mandatory Compliant
7.6 Required Compliant

Declarations and Definitions 🔗

Rule Category Compliance
8.1 Required Compliant
8.2 Required Compliant
8.3 Required Compliant
8.4 Required Compliant
8.5 Required Compliant
8.6 Required Compliant
8.7 Advisory Compliant
8.8 Required Compliant
8.9 Advisory Compliant
8.10 Required Compliant
8.11 Advisory Compliant
8.12 Required Compliant
8.13 Advisory Compliant
8.14 Required Compliant
8.15 Required Compliant
8.16 Advisory Compliant
8.17 Advisory Compliant

Initialization 🔗

Rule Category Compliance
9.1 Mandatory Compliant
9.2 Required Compliant
9.3 Required Compliant
9.4 Required Compliant
9.5 Required Compliant
9.6 Required Compliant
9.7 Mandatory Compliant

The Essential Type Modal 🔗

Rule Category Compliance
10.1 Required Compliant
10.2 Required Compliant
10.3 Required Compliant
10.4 Required Compliant
10.5 Advisory Compliant
10.6 Required Compliant
10.7 Required Compliant
10.8 Required Compliant

Pointer Type Conversion 🔗

Rule Category Compliance
11.1 Required Compliant
11.2 Required Compliant
11.3 Required Compliant
11.4 Advisory Compliant
11.5 Advisory Compliant
11.6 Required Compliant
11.7 Required Compliant
11.8 Required Compliant
11.9 Required Compliant
11.10 Required Compliant

Expressions 🔗

Rule Category Compliance
12.1 Advisory Compliant
12.2 Required Compliant
12.3 Advisory Compliant
12.4 Advisory Compliant
12.5 Mandatory Compliant
12.6 Required Compliant

Side Effects 🔗

Rule Category Compliance
13.1 Required Compliant
13.2 Required Compliant
13.3 Advisory Compliant
13.4 Advisory Compliant
13.5 Required Compliant
13.6 Mandatory Compliant

Control Statement Expressions 🔗

Rule Category Compliance
14.1 Required Compliant
14.2 Required Compliant
14.3 Required Compliant
14.4 Required Compliant

Control Flow 🔗

Rule Category Compliance
15.1 Advisory Compliant
15.2 Required Compliant
15.3 Required Compliant
15.4 Advisory Compliant
15.5 Advisory Compliant
15.6 Required Compliant
15.7 Required Compliant

Switch Statements 🔗

Rule Category Compliance
16.1 Required Compliant
16.2 Required Compliant
16.3 Required Compliant
16.4 Required Compliant
16.5 Required Compliant
16.6 Required Compliant
16.7 Required Compliant

Functions 🔗

Rule Category Compliance
17.1 Required Compliant
17.2 Required Compliant
17.3 Mandatory Compliant
17.4 Mandatory Compliant
17.5 Advisory Compliant
17.6 Mandatory Compliant
17.7 Required Compliant
17.8 Advisory Compliant
17.9 Mandatory Compliant
17.10 Required Compliant
17.11 Advisory Compliant
17.12 Advisory Compliant
17.13 Required Compliant

Pointers and Arrays 🔗

Rule Category Compliance
18.1 Required Compliant
18.2 Required Compliant
18.3 Required Compliant
18.4 Advisory Compliant
18.5 Advisory Compliant
18.6 Required Compliant
18.7 Required Compliant
18.8 Required Compliant
18.9 Required Compliant
18.10 Mandatory Compliant

Overlapping Storage 🔗

Rule Category Compliance
19.1 Mandatory Compliant
19.2 Advisory Compliant

Preprocessing Directives 🔗

Rule Category Compliance
20.1 Advisory Compliant
20.2 Required Compliant
20.3 Required Compliant
20.4 Required Compliant
20.5 Advisory Compliant
20.6 Required Compliant
20.7 Required Compliant
20.8 Required Compliant
20.9 Required Compliant
20.10 Advisory Compliant
20.11 Required Compliant
20.12 Required Compliant
20.13 Required Compliant
20.14 Required Compliant

Standard Libraries 🔗

Rule Category Compliance
21.1 Required Compliant
21.2 Required Compliant
21.3 Required Compliant
21.4 Required Compliant
21.5 Required Compliant
21.6 Required Compliant
21.7 Required Compliant
21.8 Required Compliant
21.9 Required Compliant
21.10 Required Compliant
21.11 Required Compliant
21.12 Advisory Compliant
21.13 Mandatory Compliant
21.14 Required Compliant
21.15 Required Compliant
21.16 Required Compliant
21.17 Required Compliant
21.18 Mandatory Compliant
21.19 Mandatory Compliant
21.20 Mandatory Compliant
21.21 Required Compliant
21.22 Mandatory Compliant
21.23 Required Compliant
21.24 Required Compliant
21.25 Required Compliant
21.26 Required Compliant

Resources 🔗

Rule Category Compliance
22.1 Required Compliant
22.2 Mandatory Compliant
22.3 Required Compliant
22.4 Mandatory Compliant
22.5 Mandatory Compliant
22.6 Mandatory Compliant
22.7 Required Compliant
22.8 Required Compliant
22.9 Required Compliant
22.10 Required Compliant
22.11 Required Compliant
22.12 Mandatory Compliant
22.13 Required Compliant
22.14 Mandatory Compliant
22.15 Required Compliant
22.16 Required Compliant
22.17 Required Compliant
22.18 Required Compliant
22.19 Required Compliant
22.20 Mandatory Compliant

Generic Selections 🔗

Rule Category Compliance
23.1 Advisory Compliant
23.2 Required Compliant
23.3 Advisory Compliant
23.4 Required Compliant
23.5 Advisory Compliant
23.6 Required Compliant
23.7 Advisory Compliant
23.8 Required Compliant