Seminar zu den MISRA-C Regeln für die Entwicklung sicherheitskritischer Software mit ANSI/ISO-C

Der Regelkatalog MISRA-C:2012

In diesem MISRA-C Kurs wird die Entwicklung sicherheitskritischer Software mit der Programmiersprache ANSI/ISO-C in den Varianten C89/90 und C99 im Embedded System im Automobilumfeld betrachtet. Dabei werden die Fehlermöglichkeiten in einem Softwareprojekt analysiert und diskutiert. Die typischen Fehler bei der Implementierung mit Standard C werden kategorisiert und mit den MISRA-Regeln in Zusammenhang gebracht. Neben der Arbeit an den Regeln wird der Aufbau des MISRA Regeldokuments von 2012 durchgesprochen. Die Regeln selbst werden ausführlich behandelt und die Anforderungen an die Dokumentation diskutiert, die nötig ist, um die Regelkonformität nachzuweisen. Ziel des Seminars ist die Prinzipien und die Regeln kennenzulernen, die MISRA zur Fehlervermeidung in C-Projekten zur Verfügung stellt. Ergänzend zu diesem technischen Thema kann auch die Einführung von Codierrichtlinien in Softwareprojekten diskutiert werden.

Die folgenden Themen werden durchgenommen:

  • Die Motivation hinter dem MISRA Regelkatalog.
  • Der Fehler in der Software.
  • Der Fehler in der Codierung (Implementierung).
  • Überlegungen zur Entwicklung im Embedded System.
  • Sicherheitsrelevante und sicherheitskritische Software.
  • Spezielle Fehlerquellen in C.
  • Undefiniertes Verhalten von C.
  • Implementierungsabhängiges Verhalten von C.
  • Verbreitete Fehler in C.
  • Lesbarkeit und Eindeutigkeit von C-Code.
  • Die Sprache C und die Intuition des Entwicklers.
  • Verbesserte Beschreibung der Regeln gegenüber älteren MISRA Standards.
  • Vereinfachung der Regelbeschreibung.
  • Klare Klassifizierung von Regeln und Richtlinien.
  • Automatische Überprüfbarkeit.
  • Regel-Scope.
  • Geforderte und empfohlene Regeln.
  • Regeln zu ISO C99.
  • Statische Codeanalyse.
  • Programmierrichtlinien und Coding Styles.
  • Der Entwicklungsprozess.

Es kann ein beliebiger C Compiler eingesetzt werden, der kompatibel zum Standard ANSI C89 bzw. ISO C90 ist. Für MISRA-C:2012 muss der Compiler den C99 Standard unterstützen, was die meisten heute üblichen Compiler auch tun. Als Plattformen empfehlen sich Windows-, Mac OS X-, UNIX-, Linux-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