Seminar on the MISRA C++ rules for the development of safety-critical software with C++
In accordance with the MISRA C++ Rule Catalogue from 2008 - MISRA-C++:2008
In this MISRA C++ course, the development of safety-critical software with ANSI/ISO-C++ 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 ANSI/ISO-C++ are classified and associated to the MISRA rules. For this purpose, the structure of the composition of the MISRA rule document from 2008 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. In addition to this technical subject matter, the subject of introducing coding guidelines in a software is discussed.
The following subject matters are covered:
- The Error in Software.
- The Error in Coding (Implementation).
- 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.
It is possible to use any C++ compiler that is compatible to ANSI/ISO according to the Standard from 1998 or to the corrected Standard from 2003. 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 08.01.2021