Seminar on the MISRA C++ rules for the development of safety-critical software with C++
In accordance with the MISRA C++ Rule Catalogue from 2023 - MISRA-C++:2023
The new MISRA-C++:2023 standard was published in October 2023. It is available on the MISRA organization's website. The new 2023 standard not only replaces the old 2008 standard but also supersedes the AutosarC++14 standard, which has contributed to its development. The seminar described here will assist you in applying and thoroughly understanding the standard.
In this MISRA C++ course, the development of safety-critical software with ISO-C++17 in embedded systems in the automotive field is examined. For this purpose, the failure possibilities in a software project are analyzed and discussed. The typical failures occurring in the implementation with ISO-C++17 are classified and associated to the MISRA rules. For this purpose, the structure of the composition of the MISRA rule document from 2023 is reviewed. The rules themselves are covered in detail. In addition, the documentation and process requests necessary to reaching the compliance with the rules are debated. The objective of the seminar is to get to know the principles and rules that MISRA offers for failure prevention in C++ projects. Additionally, the problem areas touched by the MISRA rule catalog in C++17 should be thoroughly understood.
The following subject matters are covered:
- The Error in Software.
- The Error in Implementation and its Causes.
- Thoughts on Development of Embedded Systems.
- Safety-relevant and Safety-critical Software.
- Typical Sources of Error in C++.
- Special Sources of Error in C++.
- Undefined Behavior of C++.
- Implementation-dependent Behavior of C++.
- Legibility and Clearness of C++ Code.
- The Safe Use of Object-oriented Concepts in C++.
- The Rule Catalogue MISRA C++.
- Required and Recommended Rules.
- Static Code Analysis.
- Programming Guidelines and Coding Styles.
- Development Process.
Any ISO-compatible C++ compiler that supports C++17, the ISO/IEC 14882:2017 standard, can be used. This is the case with most current compilers today. The recommended platforms are Windows, MacOSX, UNIX, Linux or QNX systems. The only important thing is that course participants master the C++ programming language and simple data operations on the system they use. Some rules are run through with real program examples.
Last modified 01.12.2023