Seminar zu den MISRA-C++ Regeln für die Entwicklung sicherheitskritischer Software mit C++

Nach dem MISRA-C++ Regelkatalog von 2008 - MISRA-C++:2008

In diesem MISRA-C++ Kurs wird die Entwicklung sicherheitskritischer Software mit ANSI/ISO-C++ im Embedded System im Automobilumfeld betrachtet. Dabei werden die Fehlermöglichkeiten in einem Softwareprojekt analysiert und diskutiert. Die typischen Fehler bei der Implementierung mit ANSI/ISO-C++ werden kategorisiert und mit den MISRA-Regeln in Zusammenhang gebracht. Dabei wird die Struktur des Aufbaus des MISRA Regeldokuments von 2008 durchgesprochen. Die Regeln selbst werden ausführlich behandelt. Daneben werden die Dokumentations- und Prozess­anforderungen besprochen, die zur Erreichung der Regelkonformität nötig sind. Ziel des Seminars ist die Prinzipien und die Regeln kennenzulernen, die MISRA zur Fehlervermeidung in C++-Projekten zur Verfügung stellt. Neben diesem technischen Thema wird auch das Thema der Einführung von Codierrichtlinien in ein Softwareprojekt diskutiert.

Die folgenden Themen werden durchgenommen:

  • Der Fehler in der Software.
  • Der Fehler in der Codierung (Implementierung).
  • Ü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++ Regelkatalog.
  • Geforderte und empfohlene Regeln.
  • Statische Codeanalyse.
  • Programmierrichtlinien und Coding Styles.
  • Der Entwicklungsprozess.

Es kann ein beliebiger C++ Compiler eingesetzt werden, der ANSI/ISO kompatibel nach zum Standard von 1998 oder dem korrigierten Standard von 2003 ist. Als Plattformen empfehlen sich Windows-, Mac OS X-, 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 22.08.2020