Seminar zu den MISRA-C++ Regeln für die Entwicklung sicherheitskritischer Software mit C++
Nach dem MISRA-C++ Regelkatalog von 2023 - MISRA-C++:2023
Im Oktober 2023 wurde der neue MISRA-C++:2023 Standard publiziert. Erhältlich ist er auf der Webpräsenz der MISRA Organisation. Der neue Standard von 2023 ersetzt nicht nur den alte Standard von 2008 sondern auch den AutosarC++14 Standard, der mit in seine Entwicklung eingeflossen ist. Das hier beschriebene Seminar hilft Ihnen, den Standard anzuwenden und in der Tiefe zu verstehen.
In diesem MISRA-C++ Seminar wird die Entwicklung sicherheitskritischer Software mit ISO-C++17 im Embedded System im Automobilumfeld betrachtet. Dabei werden die Fehlermöglichkeiten in einem Softwareprojekt analysiert und diskutiert. Die typischen Fehler bei der Implementierung mit ISO-C++17 werden kategorisiert und mit den MISRA-Regeln in Zusammenhang gebracht. Dabei wird die Struktur des Aufbaus des MISRA Regeldokuments von 2023 durchgesprochen. Die Regeln selbst werden ausführlich behandelt. Daneben werden die Dokumentations- und Prozessanforderungen besprochen, die zur Erreichung der Regelkonformität nötig sind. Ziel des Seminars ist es die Prinzipien und die Regeln kennenzulernen, die MISRA zur Fehlervermeidung in C++-Projekten zur Verfügung stellt. Darüber hinaus sollen die durch den MISRA Regelkatalog berührten Problembereiche in C++17 in der Tiefe verstanden werden.
Die folgenden Themen werden durchgenommen:
- Der Fehler in der Software.
- Der Fehler in der Implementierung und seine Gründe.
- Überlegungen zur Entwicklung im Embedded System.
- Sicherheitsrelevante und sicherheitskritische Software.
- Typische Fehlerquellen in C++.
- Spezielle Fehlerquellen in C++.
- Undefiniertes Verhalten von C++.
- Implementierungsabhängiges Verhalten von C++.
- Lesbarkeit und Eindeutigkeit von C++-Code.
- Die sichere Anwendung objektorientierter Konzepte in C++.
- Der MISRA-C++:2023 Regelkatalog.
- Geforderte und empfohlene Regeln.
- Statische Codeanalyse.
- Programmierrichtlinien und Coding Styles.
- Der Entwicklungsprozess.
Es kann ein beliebiger ISO kompatibler C++Compiler eingesetzt werden, der C++17, also den Standard ISO/IEC 14882:2017 unterstützt. Das ist heute bei den meisten aktuellen Compilern der Fall. Als Plattformen empfehlen sich Windows-, MacOSX-, UNIX-, Linux- oder QNX-Systeme. Wichtig ist dabei nur, dass die Kursteilnehmer die Programmiersprache C++ und einfache Dateioperationen auf dem eingesetzten System beherrschen. Es werden einige Regeln anhand praktischer Programmierbeispiele durchgespielt.
Zuletzt geändert am 01.12.2023