Parasoft-Logo Suche

Entdecken Sie das TÜV-zertifizierte GoogleTest mit Agentic AI für C/C++-Tests!
Details ansehen »

ISO 26262 Software-Compliance in der Automobilindustrie

MISRA C 2023

MISRA C ist ein Satz von Codierungsrichtlinien für die Programmiersprache C. Der Standard zielt darauf ab, die Sicherheit von Software zu erhöhen, indem er Programmierer präventiv vor Codierungsfehlern bewahrt, die zu Laufzeitfehlern (und potenziellen Sicherheitsrisiken) führen können. Dies geschieht durch die Vermeidung bekannter problematischer Konstrukte in der C-Sprache.

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.

Bei der erstmaligen Einführung von MISRA C in ein Projekt , insbesondere in Projekten mit bereits vorhandenem Code, ist der Richtlinien-Neukategorisierungsplan das wichtigste Dokument. Dieses Dokument erfasst 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 Ausschnitt eines Neukategorisierungsplans.

MISRA-Konformitätsbericht

Das Compliance-Dokument „MISRA C 2023“ empfiehlt, von einer Umkategorisierung von einer weniger strengen zu einer strengeren Klassifizierung abzusehen. Darüber hinaus ist es möglich, die Anwendung von Beratungsregeln nach Überprüfung der Arten von Verstößen mit dem Team vollständig aufzuheben.

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.

Mann und Frau diskutieren im Technikgebäude

Verbessern Sie Ihre Softwaretests mit Parasoft-Lösungen.

Kontakt