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 sicherheits­kritischer Software mit ISO-C++17 im Embedded System im Automobil­umfeld betrachtet. Dabei werden die Fehler­mö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 Regel­dokuments von 2023 durchgesprochen. Die Regeln selbst werden ausführlich behandelt. Daneben werden die Dokumentations- und Prozess­anforderungen besprochen, die zur Erreichung der Regel­konformität nötig sind. Ziel des Seminars ist es die Prinzipien und die Regeln kennenzulernen, die MISRA zur Fehler­vermeidung 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.
  • Sicherheits­relevante und sicherheits­kritische Software.
  • Typische Fehler­quellen in C++.
  • Spezielle Fehler­quellen in C++.
  • Undefiniertes Verhalten von C++.
  • Implementierungs­abhängiges Verhalten von C++.
  • Lesbarkeit und Eindeutigkeit von C++-Code.
  • Die sichere Anwendung objekt­orientierter Konzepte in C++.
  • Der MISRA-C++:2023 Regelkatalog.
  • Geforderte und empfohlene Regeln.
  • Statische Codean­alyse.
  • Programmier­richtlinien und Coding Styles.
  • Der Entwicklungs­prozess.

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 Platt­formen empfehlen sich Windows-, Mac OS X-, UNIX-, Linux- oder QNX-Systeme. Wichtig ist dabei nur, dass die Kurs­teilnehmer die Programmier­sprache C++ und einfache Datei­operationen auf dem eingesetzten System beherrschen. Es werden einige Regeln anhand praktischer Programmier­beispiele durchgespielt.

Zuletzt geändert am 12.05.2024