MISRA C 2012 Checklist

MISRA, the Motor Industry Software Reliability Association, provides world-leading best practice guidelines for the safe application of both embedded control systems and standalone software. The association is a collaboration between manufacturers, component suppliers and engineering consultancies which seeks to promote best practices in developing safety-related embedded electronic systems and other software-intensive applications.

The MISRA C 2012 checklist provides guided checklist review of the directives and rules in the current version of the standard (MISRA C:2012). This review is complete, and is fully automated with the following exceptions. The ⚯ symbol indicates rules that have no automated steps but ask users to attach documentation. Compliance with rules identified by the ☑ symbol is not fully decidable so the corresponding checks include a user review step to eliminate potential false positives.

Software being reviewed with this checklist should be loaded into Imagix 4D with the -nosys option disabled and the -nosysbodies option enabled.

"MISRA", "MISRA C" and the triangle logo are registered trademarks owned by HORIBA MIRA Ltd, held on behalf of the MISRA Consortium.

MISRA C Directives

Dir.1.1 ⚯Dir.2.1 ⚯
Dir.3.1 ⚯Dir.4.1 ☑
Dir.4.2 ⚯Dir.4.3
Dir.4.4 ☑Dir.4.5 ☑
Dir.4.6Dir.4.7 ☑
Dir.4.8Dir.4.9 ☑
Dir.4.10Dir.4.11 ☑
Dir.4.12 ☑Dir.4.13 ☑
Dir.1.1 ⚯Dir.4.2 ⚯Dir.4.6Dir.4.10
Dir.2.1 ⚯Dir.4.3Dir.4.7 ☑Dir.4.11 ☑
Dir.3.1 ⚯Dir.4.4 ☑Dir.4.8Dir.4.12 ☑
Dir.4.1 ☑Dir.4.5 ☑Dir.4.9 ☑Dir.4.13 ☑

MISRA C Rules

Rule.1.1 ⚯Rule.1.2 ☑
Rule.1.3 ☑Rule.2.1 ☑
Rule.2.2 ☑Rule.2.3
Rule.2.4Rule.2.5
Rule.2.6Rule.2.7
Rule.3.1Rule.3.2
Rule.4.1Rule.4.2
Rule.5.1Rule.5.2
Rule.5.3Rule.5.4
Rule.5.5Rule.5.6
Rule.5.7Rule.5.8
Rule.5.9Rule.6.1
Rule.6.2Rule.7.1
Rule.7.2Rule.7.3
Rule.7.4Rule.8.1
Rule.8.2Rule.8.3
Rule.8.4Rule.8.5
Rule.8.6Rule.8.7
Rule.8.8Rule.8.9
Rule.8.10Rule.8.11
Rule.8.12Rule.8.13 ☑
Rule.8.14Rule.9.1 ☑
Rule.9.2Rule.9.3
Rule.9.4Rule.9.5
Rule.10.1Rule.10.2
Rule.10.3Rule.10.4
Rule.10.5Rule.10.6
Rule.10.7Rule.10.8
Rule.11.1Rule.11.2
Rule.11.3Rule.11.4
Rule.11.5Rule.11.6
Rule.11.7Rule.11.8
Rule.11.9Rule.12.1
Rule.12.2 ☑Rule.12.3
Rule.12.4Rule.13.1 ☑
Rule.13.2 ☑Rule.13.3
Rule.13.4Rule.13.5 ☑
Rule.13.6Rule.14.1 ☑
Rule.14.2 ☑Rule.14.3 ☑
Rule.14.4Rule.15.1
Rule.15.2Rule.15.3
Rule.15.4Rule.15.5
Rule.15.6Rule.15.7
Rule.16.1Rule.16.2
Rule.16.3Rule.16.4
Rule.16.5Rule.16.6
Rule.16.7Rule.17.1
Rule.17.2 ☑Rule.17.3
Rule.17.4Rule.17.5 ☑
Rule.17.6Rule.17.7
Rule.17.8 ☑Rule.18.1 ☑
Rule.18.2 ☑Rule.18.3 ☑
Rule.18.4Rule.18.5
Rule.18.6 ☑Rule.18.7
Rule.18.8Rule.19.1 ☑
Rule.19.2Rule.20.1
Rule.20.2Rule.20.3
Rule.20.4Rule.20.5
Rule.20.6Rule.20.7
Rule.20.8Rule.20.9
Rule.20.10Rule.20.11
Rule.20.12Rule.20.13
Rule.20.14Rule.21.1
Rule.21.2Rule.21.3
Rule.21.4Rule.21.5
Rule.21.6Rule.21.7
Rule.21.8Rule.21.9
Rule.21.10Rule.21.11
Rule.21.12Rule.22.1 ☑
Rule.22.2 ☑Rule.22.3 ☑
Rule.22.4 ☑Rule.22.5 ☑
Rule.22.6 ☑
Rule.1.1 ⚯Rule.8.1Rule.11.3Rule.16.2Rule.20.6
Rule.1.2 ☑Rule.8.2Rule.11.4Rule.16.3Rule.20.7
Rule.1.3 ☑Rule.8.3Rule.11.5Rule.16.4Rule.20.8
Rule.2.1 ☑Rule.8.4Rule.11.6Rule.16.5Rule.20.9
Rule.2.2 ☑Rule.8.5Rule.11.7Rule.16.6Rule.20.10
Rule.2.3Rule.8.6Rule.11.8Rule.16.7Rule.20.11
Rule.2.4Rule.8.7Rule.11.9Rule.17.1Rule.20.12
Rule.2.5Rule.8.8Rule.12.1Rule.17.2 ☑Rule.20.13
Rule.2.6Rule.8.9Rule.12.2 ☑Rule.17.3Rule.20.14
Rule.2.7Rule.8.10Rule.12.3Rule.17.4Rule.21.1
Rule.3.1Rule.8.11Rule.12.4Rule.17.5 ☑Rule.21.2
Rule.3.2Rule.8.12Rule.13.1 ☑Rule.17.6Rule.21.3
Rule.4.1Rule.8.13 ☑Rule.13.2 ☑Rule.17.7Rule.21.4
Rule.4.2Rule.8.14Rule.13.3Rule.17.8 ☑Rule.21.5
Rule.5.1Rule.9.1 ☑Rule.13.4Rule.18.1 ☑Rule.21.6
Rule.5.2Rule.9.2Rule.13.5 ☑Rule.18.2 ☑Rule.21.7
Rule.5.3Rule.9.3Rule.13.6Rule.18.3 ☑Rule.21.8
Rule.5.4Rule.9.4Rule.14.1 ☑Rule.18.4Rule.21.9
Rule.5.5Rule.9.5Rule.14.2 ☑Rule.18.5Rule.21.10
Rule.5.6Rule.10.1Rule.14.3 ☑Rule.18.6 ☑Rule.21.11
Rule.5.7Rule.10.2Rule.14.4Rule.18.7Rule.21.12
Rule.5.8Rule.10.3Rule.15.1Rule.18.8Rule.22.1 ☑
Rule.5.9Rule.10.4Rule.15.2Rule.19.1 ☑Rule.22.2 ☑
Rule.6.1Rule.10.5Rule.15.3Rule.19.2Rule.22.3 ☑
Rule.6.2Rule.10.6Rule.15.4Rule.20.1Rule.22.4 ☑
Rule.7.1Rule.10.7Rule.15.5Rule.20.2Rule.22.5 ☑
Rule.7.2Rule.10.8Rule.15.6Rule.20.3Rule.22.6 ☑
Rule.7.3Rule.11.1Rule.15.7Rule.20.4
Rule.7.4Rule.11.2Rule.16.1Rule.20.5