Empfohlenes Webinar: KI-gestütztes API-Testing: Ein No-Code-Ansatz zum Testen | Zum Video

ISO 26262 Software-Compliance in der Automobilindustrie

MISRA C 2023

MISRA C ist eine Reihe von Kodierungsrichtlinien für die Programmiersprache C. Der Schwerpunkt des Standards liegt auf der Erhöhung der Softwaresicherheit, indem Programmierer präventiv daran gehindert werden, Codierungsfehler zu begehen, die zu Laufzeitfehlern (und möglichen Sicherheitsbedenken) führen können, indem bekannte Problemkonstrukte in der Sprache C vermieden werden.

Im Laufe der Jahre beschwerten sich viele Entwickler eingebetteter Systeme (und beklagen sich immer noch), dass MISRA C ein zu strenger Standard sei und dass die Kosten für das Schreiben von vollständig konformem Code schwer zu rechtfertigen seien. Angesichts der Tatsache, dass MISRA C in sicherheitskritischer Software eingesetzt wird, hängt der Nutzen der Anwendung des Standards auf ein Projekt realistischerweise von Faktoren wie den folgenden ab:

  • Risiko einer Systemstörung aufgrund eines Softwarefehlers
  • Kosten eines Systemausfalls für das Unternehmen
  • Entwicklungstools und Zielplattform
  • Fachwissen des Entwicklers

Programmierer müssen einen praktischen Mittelweg finden, der dem Geist des Standards entspricht und dennoch MISRA-Konformität gewährleistet, ohne Aufwand für Aktivitäten ohne Mehrwert zu verschwenden.

MISRA C-Konformität

In dem Dokument „MISRA-Konformität: 2020“ liefert das MISRA-Konsortium die von der Community benötigte Antwort mit einem klar definierten Rahmen dessen, was die Aussage „MISRA-konform“ wirklich bedeutet.

Das Dokument unterstützt Organisationen bei der Verwendung einer gemeinsamen Sprache zur Formulierung der Compliance-Anforderungen, indem es die folgenden Artefakte definiert:

Symbol in einem blauen Kreis, das den weißen Umriss einer Richtlinien-Checkliste zeigt.

Der Richtliniendurchsetzungsplan 

Zeigt, wie jede MISRA-Richtlinie überprüft wird.

Symbol in einem blauen Kreis, das den weißen Umriss einer Richtlinien-Checkliste zeigt.

Der Leitlinien-Neukategorisierungsplan

Kommuniziert im Rahmen der Lieferanten-/Kundenbeziehung den vereinbarten Schweregrad einzelner Regeln in den Richtlinien.

Symbol in einem blauen Kreis, das den weißen Umriss einer Richtlinien-Checkliste zeigt.

Der Abweichungsbericht

Dokumentiert die Verstöße gegen Richtlinien mit entsprechender Begründung.

Symbol in einem blauen Kreis, das den weißen Umriss einer Richtlinien-Checkliste zeigt.

Zusammenfassung der Richtlinienkonformität

Dies ist der primäre Datensatz zur Einhaltung der Gesamtprojektkonformität.

Als erstes Einführung von MISRA C in ein Projekt, wenn Code bereits vorhanden ist, ist das Schlüsseldokument normalerweise der Richtlinien-Neukategorisierungsplan. Dieses Dokument enthält alle Anweisungen und Regeln und gibt an, welche Kategorien neu kategorisiert wurden. Es ist jedoch wichtig, auch für neu entwickelten Code dieselbe rationale Kategorisierung zu verwenden. Das folgende Diagramm zeigt beispielsweise einen Teil eines Neukategorisierungsplans.

MISRA-Konformitätsbericht
MISRA-Konformitätsbericht
Das Compliance-Dokument „MISRA C 2023“ empfiehlt, keine Umkategorisierungen von einer weniger strengen zu einer strengeren Klassifizierung vorzunehmen. Darüber hinaus ist es möglich, Beratungsregeln nach Überprüfung der Arten von Verstößen mit dem Team ganz außer Kraft zu setzen.

Die Anforderung, Abweichungen zu dokumentieren, ist nur für alle erforderlichen Regeln erforderlich. Alle Verstöße im übernommenen Code sollten überprüft werden. Abweichungen müssen klarstellen, dass Verstöße die Sicherheit nicht beeinträchtigen. Unabhängig von der Neukategorisierung muss das Problem behoben werden, wenn es einen Befund gibt, der die Sicherheit des Systems beeinträchtigt. Außerdem können Änderungen am vorhandenen Code andere Probleme mit sich bringen, die der Entwickler nicht klar erkennt.

Dunkelblaues Banner mit dem Bild eines Mannes, der in einem Serverraum mit einer Frau spricht, die ein Tablet in der Hand hält.
Bild eines Mannes und einer Frau mit einem Tablet in der Hand, die in einem Serverraum diskutieren.

Verbessern Sie Ihre Softwaretests mit Parasoft-Lösungen.