MISRA C++ 2008 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 Imagix MISRA C++ 2008 checklist provides guided checklist review of the rules in the current version of the standard
MISRA C++:2008.
This review supports all rules except the rules in chapter 14 (Rule 14-[5678]-[123]), 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 require 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++ Rules
Rule 0-1-1 | Rule 0-1-2 ☑ |
Rule 0-1-3 | Rule 0-1-4 |
Rule 0-1-5 | Rule 0-1-6 ☑ |
Rule 0-1-7 | Rule 0-1-8 ☑ |
Rule 0-1-9 ☑ | Rule 0-1-10 ☑ |
Rule 0-1-11 | Rule 0-1-12 |
Rule 0-2-1 ☑ | Rule 0-3-1 ☑ |
Rule 0-3-2 | Rule 0-4-1 ⚯ |
Rule 0-4-2 ⚯ | Rule 0-4-3 ⚯ |
Rule 1-0-1 ⚯ | Rule 1-0-2 ⚯ |
Rule 1-0-3 ⚯ | Rule 2-2-1 ⚯ |
Rule 2-3-1 | Rule 2-5-1 |
Rule 2-7-1 | Rule 2-7-2 ☑ |
Rule 2-7-3 ☑ | Rule 2-10-1 |
Rule 2-10-2 | Rule 2-10-3 |
Rule 2-10-4 | Rule 2-10-5 |
Rule 2-10-6 | Rule 2-13-1 |
Rule 2-13-2 | Rule 2-13-3 |
Rule 2-13-4 | Rule 2-13-5 |
Rule 3-1-1 | Rule 3-1-2 |
Rule 3-1-3 | Rule 3-2-1 |
Rule 3-2-2 | Rule 3-2-3 |
Rule 3-2-4 | Rule 3-3-1 |
Rule 3-3-2 | Rule 3-4-1 |
Rule 3-9-1 | Rule 3-9-2 |
Rule 3-9-3 | Rule 4-5-1 |
Rule 4-5-2 | Rule 4-5-3 |
Rule 4-10-1 | Rule 4-10-2 |
Rule 5-0-1 ☑ | Rule 5-0-2 |
Rule 5-0-3 | Rule 5-0-4 |
Rule 5-0-5 | Rule 5-0-6 |
Rule 5-0-7 | Rule 5-0-8 |
Rule 5-0-9 | Rule 5-0-10 |
Rule 5-0-11 | Rule 5-0-12 |
Rule 5-0-13 | Rule 5-0-14 |
Rule 5-0-15 | Rule 5-0-16 ☑ |
Rule 5-0-17 ☑ | Rule 5-0-18 ☑ |
Rule 5-0-19 | Rule 5-0-20 |
Rule 5-0-21 | Rule 5-2-1 |
Rule 5-2-2 | Rule 5-2-3 |
Rule 5-2-4 | Rule 5-2-5 |
Rule 5-2-6 | Rule 5-2-7 |
Rule 5-2-8 | Rule 5-2-9 |
Rule 5-2-10 | Rule 5-2-11 |
Rule 5-2-12 | Rule 5-3-1 |
Rule 5-3-2 | Rule 5-3-3 |
Rule 5-3-4 | Rule 5-8-1 ☑ |
Rule 5-14-1 ☑ | Rule 5-17-1 ☑ |
Rule 5-18-1 | Rule 5-19-1 |
Rule 6-2-1 | Rule 6-2-2 |
Rule 6-2-3 | Rule 6-3-1 |
Rule 6-4-1 | Rule 6-4-2 |
Rule 6-4-3 | Rule 6-4-4 |
Rule 6-4-5 | Rule 6-4-6 |
Rule 6-4-7 | Rule 6-4-8 |
Rule 6-5-1 | Rule 6-5-2 |
Rule 6-5-3 ☑ | Rule 6-5-4 |
Rule 6-5-5 ☑ | Rule 6-5-6 |
Rule 6-6-1 | Rule 6-6-2 |
Rule 6-6-3 | Rule 6-6-4 |
Rule 6-6-5 | Rule 7-1-1 |
Rule 7-1-2 ☑ | Rule 7-2-1 ☑ |
Rule 7-3-1 | Rule 7-3-2 |
Rule 7-3-3 | Rule 7-3-4 |
Rule 7-3-5 | Rule 7-3-6 |
Rule 7-4-1 ⚯ | Rule 7-4-2 |
Rule 7-4-3 | Rule 7-5-1 |
Rule 7-5-2 ☑ | Rule 7-5-3 |
Rule 7-5-4 ☑ | Rule 8-0-1 |
Rule 8-3-1 | Rule 8-4-1 |
Rule 8-4-2 | Rule 8-4-3 |
Rule 8-4-4 | Rule 8-5-1 |
Rule 8-5-2 | Rule 8-5-3 |
Rule 9-3-1 | Rule 9-3-2 |
Rule 9-3-3 | Rule 9-5-1 |
Rule 9-6-1 ⚯ | Rule 9-6-2 |
Rule 9-6-3 | Rule 9-6-4 |
Rule 10-1-1 | Rule 10-1-2 |
Rule 10-1-3 | Rule 10-2-1 |
Rule 10-3-1 | Rule 10-3-2 |
Rule 10-3-3 | Rule 11-0-1 |
Rule 12-1-1 | Rule 12-1-2 |
Rule 12-1-3 | Rule 12-8-1 |
Rule 12-8-2 | Rule 15-0-1 |
Rule 15-0-2 | Rule 15-0-3 |
Rule 15-1-1 ☑ | Rule 15-1-2 |
Rule 15-1-3 | Rule 15-3-1 ☑ |
Rule 15-3-2 | Rule 15-3-3 |
Rule 15-3-4 ☑ | Rule 15-3-5 |
Rule 15-3-6 | Rule 15-3-7 |
Rule 15-4-1 | Rule 15-5-1 ☑ |
Rule 15-5-2 | Rule 15-5-3 |
Rule 16-0-1 | Rule 16-0-2 |
Rule 16-0-3 | Rule 16-0-4 |
Rule 16-0-5 | Rule 16-0-6 |
Rule 16-0-7 | Rule 16-0-8 |
Rule 16-1-1 | Rule 16-1-2 |
Rule 16-2-1 | Rule 16-2-2 |
Rule 16-2-3 | Rule 16-2-4 |
Rule 16-2-5 | Rule 16-2-6 |
Rule 16-3-1 | Rule 16-3-2 |
Rule 16-6-1 ⚯ | Rule 17-0-1 |
Rule 17-0-2 | Rule 17-0-3 |
Rule 17-0-4 ⚯ | Rule 17-0-5 |
Rule 18-0-1 | Rule 18-0-2 |
Rule 18-0-3 | Rule 18-0-4 |
Rule 18-0-5 | Rule 18-2-1 |
Rule 18-4-1 | Rule 18-7-1 |
Rule 19-3-1 | Rule 27-0-1 |
Rule 0-1-1 | Rule 3-2-4 | Rule 5-2-12 | Rule 7-4-3 | Rule 15-3-4 ☑ |
Rule 0-1-2 ☑ | Rule 3-3-1 | Rule 5-3-1 | Rule 7-5-1 | Rule 15-3-5 |
Rule 0-1-3 | Rule 3-3-2 | Rule 5-3-2 | Rule 7-5-2 ☑ | Rule 15-3-6 |
Rule 0-1-4 | Rule 3-4-1 | Rule 5-3-3 | Rule 7-5-3 | Rule 15-3-7 |
Rule 0-1-5 | Rule 3-9-1 | Rule 5-3-4 | Rule 7-5-4 ☑ | Rule 15-4-1 |
Rule 0-1-6 ☑ | Rule 3-9-2 | Rule 5-8-1 ☑ | Rule 8-0-1 | Rule 15-5-1 ☑ |
Rule 0-1-7 | Rule 3-9-3 | Rule 5-14-1 ☑ | Rule 8-3-1 | Rule 15-5-2 |
Rule 0-1-8 ☑ | Rule 4-5-1 | Rule 5-17-1 ☑ | Rule 8-4-1 | Rule 15-5-3 |
Rule 0-1-9 ☑ | Rule 4-5-2 | Rule 5-18-1 | Rule 8-4-2 | Rule 16-0-1 |
Rule 0-1-10 ☑ | Rule 4-5-3 | Rule 5-19-1 | Rule 8-4-3 | Rule 16-0-2 |
Rule 0-1-11 | Rule 4-10-1 | Rule 6-2-1 | Rule 8-4-4 | Rule 16-0-3 |
Rule 0-1-12 | Rule 4-10-2 | Rule 6-2-2 | Rule 8-5-1 | Rule 16-0-4 |
Rule 0-2-1 ☑ | Rule 5-0-1 ☑ | Rule 6-2-3 | Rule 8-5-2 | Rule 16-0-5 |
Rule 0-3-1 ☑ | Rule 5-0-2 | Rule 6-3-1 | Rule 8-5-3 | Rule 16-0-6 |
Rule 0-3-2 | Rule 5-0-3 | Rule 6-4-1 | Rule 9-3-1 | Rule 16-0-7 |
Rule 0-4-1 ⚯ | Rule 5-0-4 | Rule 6-4-2 | Rule 9-3-2 | Rule 16-0-8 |
Rule 0-4-2 ⚯ | Rule 5-0-5 | Rule 6-4-3 | Rule 9-3-3 | Rule 16-1-1 |
Rule 0-4-3 ⚯ | Rule 5-0-6 | Rule 6-4-4 | Rule 9-5-1 | Rule 16-1-2 |
Rule 1-0-1 ⚯ | Rule 5-0-7 | Rule 6-4-5 | Rule 9-6-1 ⚯ | Rule 16-2-1 |
Rule 1-0-2 ⚯ | Rule 5-0-8 | Rule 6-4-6 | Rule 9-6-2 | Rule 16-2-2 |
Rule 1-0-3 ⚯ | Rule 5-0-9 | Rule 6-4-7 | Rule 9-6-3 | Rule 16-2-3 |
Rule 2-2-1 ⚯ | Rule 5-0-10 | Rule 6-4-8 | Rule 9-6-4 | Rule 16-2-4 |
Rule 2-3-1 | Rule 5-0-11 | Rule 6-5-1 | Rule 10-1-1 | Rule 16-2-5 |
Rule 2-5-1 | Rule 5-0-12 | Rule 6-5-2 | Rule 10-1-2 | Rule 16-2-6 |
Rule 2-7-1 | Rule 5-0-13 | Rule 6-5-3 ☑ | Rule 10-1-3 | Rule 16-3-1 |
Rule 2-7-2 ☑ | Rule 5-0-14 | Rule 6-5-4 | Rule 10-2-1 | Rule 16-3-2 |
Rule 2-7-3 ☑ | Rule 5-0-15 | Rule 6-5-5 ☑ | Rule 10-3-1 | Rule 16-6-1 ⚯ |
Rule 2-10-1 | Rule 5-0-16 ☑ | Rule 6-5-6 | Rule 10-3-2 | Rule 17-0-1 |
Rule 2-10-2 | Rule 5-0-17 ☑ | Rule 6-6-1 | Rule 10-3-3 | Rule 17-0-2 |
Rule 2-10-3 | Rule 5-0-18 ☑ | Rule 6-6-2 | Rule 11-0-1 | Rule 17-0-3 |
Rule 2-10-4 | Rule 5-0-19 | Rule 6-6-3 | Rule 12-1-1 | Rule 17-0-4 ⚯ |
Rule 2-10-5 | Rule 5-0-20 | Rule 6-6-4 | Rule 12-1-2 | Rule 17-0-5 |
Rule 2-10-6 | Rule 5-0-21 | Rule 6-6-5 | Rule 12-1-3 | Rule 18-0-1 |
Rule 2-13-1 | Rule 5-2-1 | Rule 7-1-1 | Rule 12-8-1 | Rule 18-0-2 |
Rule 2-13-2 | Rule 5-2-2 | Rule 7-1-2 ☑ | Rule 12-8-2 | Rule 18-0-3 |
Rule 2-13-3 | Rule 5-2-3 | Rule 7-2-1 ☑ | Rule 15-0-1 | Rule 18-0-4 |
Rule 2-13-4 | Rule 5-2-4 | Rule 7-3-1 | Rule 15-0-2 | Rule 18-0-5 |
Rule 2-13-5 | Rule 5-2-5 | Rule 7-3-2 | Rule 15-0-3 | Rule 18-2-1 |
Rule 3-1-1 | Rule 5-2-6 | Rule 7-3-3 | Rule 15-1-1 ☑ | Rule 18-4-1 |
Rule 3-1-2 | Rule 5-2-7 | Rule 7-3-4 | Rule 15-1-2 | Rule 18-7-1 |
Rule 3-1-3 | Rule 5-2-8 | Rule 7-3-5 | Rule 15-1-3 | Rule 19-3-1 |
Rule 3-2-1 | Rule 5-2-9 | Rule 7-3-6 | Rule 15-3-1 ☑ | Rule 27-0-1 |
Rule 3-2-2 | Rule 5-2-10 | Rule 7-4-1 ⚯ | Rule 15-3-2 | |
Rule 3-2-3 | Rule 5-2-11 | Rule 7-4-2 | Rule 15-3-3 | |
|