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.
  • 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 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 01.12.2023