Konformitätsnachweise – gerade in sicherheitskritischen Projekten – zu erbringen, kann komplex und zeitaufwendig sein. Testautomatisierung kann ganz wesentlich dazu beitragen, den Aufwand zu verringern.
Viele auf dem Markt verfügbaren Tools melden Fehler, wenn der Code gegen eine Richtlinie verstößt. Aber nur wenige Tools vereinfachen die Berichterstattung und Dokumentation, die für den Nachweis der Konformität erforderlich ist – ganz zu schweigen von der Implementierung der Richtlinien in den Softwareentwicklungsprozess. Mit modernen Testverifikations- und Validierungslösungen erzielt man die MISRA-Konformität (Motor Industry Software Reliability Association) schneller und kostengünstiger.
Die Lösung von Parasoft etwa rationalisiert den gesamten Prozess – Erlangen, Dokumentieren und Aufrechterhalten der MISRA-Konformität während des gesamten Produktlebenszyklus – und auch andere automatisierte Testmethoden wie etwa Unit-, Regressions-, Integrations-, System- und strukturelle Codeabdeckung.
MISRA C 2023 ist eine Sammlung von Programmierrichtlinien für die Programmiersprache C. Der Schwerpunkt des Standards liegt auf der Steigerung der Softwaresicherheit, indem Programmierer durch das Vermeiden bekannter problematischer Konstrukte in der Sprache C von vornherein daran gehindert werden, Programmierfehler zu machen, die zu Laufzeitfehlern und möglichen Sicherheitsproblemen führen können. MISRA veröffentlicht jedoch weiterhin Änderungen an den aktuellen MISRA-C-2023 Programmierrichtlinien, um das steigende Risiko von Schwachstellen in der Cybersicherheitscodierung zu verringern.
Im Lauf der Jahre haben sich viele Entwickler von Embedded-Systemen darüber beschwert, dass MISRA C ein zu strenger Standard ist, und dass die Kosten für das Schreiben eines vollständig konformen Codes schwer zu rechtfertigen sind. Weil aber MISRA C in sicherheitskritischer Software verwendet wird, hängt der Wert der Anwendung des Standards für ein Projekt von diversen Faktoren ab:
Programmierer müssen einen praktikablen Mittelweg finden, der dem Geist des Standards entspricht und gleichzeitig MISRA-Konformität beansprucht, ohne den Aufwand für nicht wertsteigernde Aktivitäten zu vergeuden.
Laut dem Dokument »MISRA Compliance:2020« vom MISRA-Konsortium muss für die MISRA-Konformität Folgendes nachgewiesen werden:
Eines der Hauptprobleme, mit denen Entwickler sicherheitskritischer Software konfrontiert sind, ist die Frage: Wie lässt sich die Konformität am Ende des Projekts nachweisen? Ein empfehlenswerter Ansatz ist die Verwendung vorhandener Vorlagen sowohl für den endgültigen Konformitätsbericht als auch für den Werkzeug-qualifizierungsbericht.
Informationen, die von der Norm nicht gefordert werden, sollten nicht hinzugefügt werden, denn das ist nicht nur Zeitverschwendung, sondern birgt auch das Risiko einer Verzögerung des Auditprozesses. Die ultimative Lösung ist die automatisch generierte Dokumentation, wie sie Parasoft ausführt.
Das Dokument »MISRA Compliance:2020« hilft Unternehmen auch dabei, eine gemeinsame Sprache für die Formulierung von Konformitätsanforderungen zu verwenden, indem es die folgenden Artefakte definiert:
Die Screenshots in Bild 1 und 2 zeigen automatisch generierte Berichte mit Links zu anderen Datensätzen und/oder eine Erweiterung der Informationen auf der Seite.
Zu Beginn des Projekts wird mit dem Interessenvertreter der Plan für die Neuklassifizierung von Leitlinien (Guideline Rekategorization Plan, GRP) definiert, wovon es mehrere geben kann:
Berücksichtigt werden sollten auch diese Punkte:
Kommerzielle Anbieter statischer Analysetools (einschließlich Parasoft) bieten Vorlagen für diese Dokumente, um Unternehmen bei der Einhaltung des MISRA-2020-Konformitätsrahmens zu unterstützen.