Expertenbeitrag

 Arthur Hicken

Arthur Hicken

Parasoft® Deutschland GmbH

Reporting- und Analytics-Plattform Erfolgreiche Projekte durch MISRA-Konformität

Autor / Redakteur: Arthur Hicken / Redaktion IoT |

Bei der Entwicklung von Embedded-Software-Applikationen stellt das IoT eine zusätzliche Herausforderung dar. Eine neue Plattform soll dabei für das Erreichen, Durchsetzen und Dokumentieren des MISRA-Standards sorgen.

Anbieter zum Thema

Der MISRA-Standard bietet Richtlinien, mit denen man Herausforderungen wie Sicherheitsrisiken oder Programmausfällen begegnen kann.
Der MISRA-Standard bietet Richtlinien, mit denen man Herausforderungen wie Sicherheitsrisiken oder Programmausfällen begegnen kann.
(Shutterstock)

Die von der Motor Industry Software Reliability Association (MISRA) herausgegebenen „Richtlinien zur Nutzung der C-Sprache in kritischen Systemen” (Guidelines for the use of the C language in critical systems), auch bekannt unter der Bezeichnung MISRA C 2012, definieren eine Teilmenge der C-Sprache. Deren Zweck ist die Minimierung potenzieller Fehler und Sicherheitslücken, die zum Versagen von Programmen oder zu gravierenden Fehlern führen können. Obwohl ursprünglich für KFZ-Systeme gedacht, haben viele weitere Industriezweige die Richtlinien für die Verwendung in sicherheitskritischen Systemen übernommen. In allen Fällen stellt die Feststellung der Konformität eine komplexe und zeitaufwändige Aufgabe dar.

Auf dem Markt gibt es zahlreiche Tools, die melden, ob ein Code eine bestimmte Richtlinie verletzt. Allerdings vereinfachen nur wenige Werkzeuge den Report- und Dokumentationsprozess, der zum Nachweis der Konformität notwendig ist. Auf die Rationalisierung des gesamten Vorgangs des Erzielens, der Dokumentierung und der Beibehaltung der MISRA-Konformität über den gesamten Produkt-Lebenszyklus zielt unsere Reporting- und Analytics-Plattform (DTP) ab. Sie sorgt für Automatisierung und Hilfestellung – zusätzlich zu unserem Prüf-Tool C/++test für C und C++. Dieser Beitrag erläutert genauer, wie man diese Tools gemeinsam nutzen kann, damit die MISRA-Konformität weniger Kopfzerbrechen bereitet.

Leitlinien auf dem steinigen Weg zur MISRA-Konformität

Konformität ist eine binäre Größe: Ein Code ist entweder konform oder er ist es nicht. Die MISRA-Richtlinien verlangen, dass der Code vollumfänglich den Direktiven und Regeln des Standards entspricht. Diese uneingeschränkte Konformität zu erreichen, ist deshalb bei einem großen und komplexen Projekt kein einfaches Unterfangen. Verschärft wird die Herausforderung dadurch, dass viele Beziehungen zwischen Anbieter und Kunde den Nachweis der Einhaltung des Standards per Dokumentation voraussetzen.

Um deutlicher zu machen, wie bei der Umsetzung der MISRA-Codierrichtlinien vorzugehen ist, veröffentlichte die MISRA im Jahr 2016 die Compliance Guidelines als Hilfestellung für Entwicklungsunternehmen. Damit dieser Prozess des Erreichens und Dokumentieren der Konformität durch Automatisierung vereinfacht werden kann, wird Folgendes benötigt:

  • Übergeordnete Echtzeit-Ansichten des gesamten Projektstatus, um sicherzustellen, dass die Konformität von Grund auf in den Entwicklungsprozess einbezogen wird.
  • Automatisiertes Erstellen von Reports, die den MISRA-Konformitätsrichtlinien entsprechen (z. B. MISRA Compliance:2016), um den Aufwand zum Erstellen der unterstützenden Dokumentation zu verringern.
  • Schnelle und einfache Arbeitsabläufe zur Untersuchung von Regelverletzungen und zur Priorisierung von Abhilfemaßnahmen für ein rationelleres Vorgehen mit dem Ziel, das Projekt in Richtung Konformität ‚auf Kurs‘ zu bringen.

Im Hinblick auf diese Richtlinien wurde die Reporting- und Analytics-Plattform DTP zur Individualisierung und Erweiterung von Installationen des Prüf-Tools C/++test entwickelt. Intelligente Analysen sollen den Beteiligten ein vertieftes Verständnis der Testabdeckung und der durch Änderungen entstehenden Risiken vermitteln. Für den MISRA-Standard vereinfacht DTP das Erreichen, Durchsetzen und Dokumentieren der Konformität, während gleichzeitig Funktionalität, Performance und Sicherheit geboten werden.

Das MISRA Compliance Dashboard

Eine wichtige Größe ist der aktuelle Konformitäts-Status eines Projekts, ebenso wie die verschiedenen detaillierteren Aspekte bei der Messung der Konformität. DTP wartet mit einem umfassenden MISRA Compliance Dashboard auf, das eine Sofort-Evaluierung des jeweiligen Projekts ermöglicht. Diese übergeordnete Darstellung ist für Manager und Entwickler gleichermaßen wichtig. Während die Manager auf einen Blick ein leicht verständliches Bild von der Konformität erhalten, erhalten Entwicklern eine Ausgangsbasis, von der aus sie weiter in Richtung Konformität voranschreiten und ihre Maßnahmen priorisieren können.

Bild 1: Beispiel des MISRA Compliance Dashboard von DTP (Bild: Parasoft)

Das MISRA Compliance Pack

Zusätzlich zum MISRA Compliance Dashboard bietet Parasoft ein komplettes Compliance Pack, das speziell auf die Konformitäts-Dokumentationsanforderungen der MISRA-Richtlinien zugeschnitten ist. Das MISRA Compliance Pack for DTP übernimmt die automatisierte Dokumentation gemäß den MISRA Compliance:2016-Richtlinien und verringert den Arbeits- und Zeitaufwand erheblich, der beim Nachweis der Konformität für eine Zertifizierungsstelle entsteht. Die Bestandteile sind nachfolgend aufgezählt.

1. Der Guideline Enforcement Plan

Der MISRA Guideline Enforcement Plan zeigt auf, wie die einzelnen MISRA-Richtlinien verifiziert werden. In den meisten Fällen bedeutet das die Verknüpfung zwischen einer MISRA-Direktive oder -Regel und der/den zugehörigen Codeanalyse-Regel(n) oder DTP-Funktion. Dazu das folgende Beispiel:

Bild 2: Beispiel eines Reports des MISRA Guideline Enforcement Plan von DTP (Bild: Parasoft)

2. Der Guideline Re-Categorization Plan

Der MISRA Guideline Re-Categorization Plan hat das Ziel, die vereinbarte Bedeutung der Richtlinien im Rahmen der Beziehung zwischen Anbieter und Kunde zu kommunizieren. Das Dokument zeigt, wie die einzelnen Richtlinien für das laufende Projekt kategorisiert werden. Verbindliche und notwendige Richtlinien lassen sich nicht herabstufen, jedoch kann in einem Projekt entschieden werden, notwendige oder beratende Richtlinien auf eine striktere Stufe anzuheben. Man kann auch beschließen, Richtlinien mit beratender Funktion ganz wegzulassen, sodass sie für die Konformität nicht notwendig sind. Hier ein Beispiel für einen Re-Categorization Plan:

Bild 3: Beispiel eines MISRA Guideline Re-Categorization Plan-Reports von DTP (Bild: Parasoft)

3. Deviations Report

Der MISRA Deviations Report dokumentiert die Abweichungen von Richtlinien mitsamt der entsprechenden Begründung. Wann immer eine Regelverletzung erkannt, aber toleriert wird, ist eine Dokumentation im Deviations Report erforderlich. In den meisten Fällen handelt es sich dabei um von der Code-Analyse gemeldete, aber unterdrückte Fehler. Auch zu diesem Report hier ein Beispiel:

Bild 4: Beispiel eines MISRA Deviations Report von DTP (Bild: Parasoft)

4. Die Guidelines Compliance Summary

Die Compliance Summary ist die primäre Aufzeichnung der Konformität des gesamten Projekts. Dieser Report dokumentiert den Konformitäts-Status jeder einzelnen Richtlinie mitsamt etwaigen Abweichungen (Deviations) und Neueinordnungen (Re-Categorizations). Dazu dieses Beispiel:

Bild 5: Beispiel eines MISRA Compliance Reports von DTP (Bild: Parasoft)

Der richtige Kurs in Richtung Konformität

Wird Quellcode auf MISRA-Konformität untersucht, deckt die statische Analyse die meisten Regelverletzungen auf. So dürften in einem umfangreichen Projekt zu Beginn zunächst große Mengen an Fehlern gemeldet werden. Es kommt darauf an, diese vielen Fehler schnell und effizient abzuhandeln. Der DTP Violations Explorer ist das entscheidende Werkzeug, mit dem die gemeldeten Fehler navigiert, evaluiert, priorisiert und für die Behebung zugewiesen werden. Stellt sich eine bei der statischen Analyse entdeckte Regelverletzung als valide heraus, ist aber entweder zu rechtfertigen, wird als harmlos angesehen oder ist nicht zutreffend, kann der Entwickler den Fehler unterdrücken – dann wird eine Abweichung (Deviation) dokumentiert. Diese Abweichungen werden an jede nächsthöhere Stufe des Projekts weitergemeldet und gelangen so zum Dashboard und zur Konformitäts-Dokumentation. Die folgende Abbildung zeigt ein Beispiel des Violation Explorers:

Bild 6. Beispiel einer im Violation Explorer von DTP untersuchten Regelverletzung (Bild: Parasoft)

Durchsetzung, Konformität und Rückverfolgbarkeit

Somit stellt der MISRA-Standard bei der Entwicklung sicherheitskritischer Software einen umfassenden Bestand an Richtlinien zur Verfügung, die Schutz vor Sicherheitslücken und Programmausfällen bieten.  Allerdings können die Anwendung dieser Richtlinien und der Nachweis der Konformität übermäßig viel Aufwand verursachen. Darum ist die Rationalisierung dieses Prozesses entscheidend für eine termingerechte Ablieferung der Software.

Um sich bei dieser Arbeit durch Software unterstützen zu lassen, haben Entwickler folgende Möglichkeiten:

  • Nutzung von C/C++test zum Verifizieren der MISRA-Richtlinien mithilfe der statischen Codeanalyse nach jedem Software-Build, sodass die Einhaltung der Richtlinien Tag für Tag durchgesetzt wird.
  • Erstellen von übergeordneten Übersichten und detaillierten Reports, die sich schnell aus dem MISRA Compliance Pack von DTP generieren lassen, für den effizienten Nachweis der Konformität.
  • Einsatz von DTP auch zur Rückverfolgbarkeit der Projektanforderungen zu den Tests. Dies ist eine wichtige Forderung nicht nur von MISRA, sondern auch der Sicherheitsstandards.

Die Unterstützung der MISRA-Konformität über den gesamten Lebenszyklus hinweg ist wichtig für die fortlaufende Durchsetzung und Rückverfolgbarkeit. Das Automatisieren der Dokumentation gemäß den MISRA Compliance 2016-Richtlinien ist wiederum entscheidend zur Vermeidung von unnötigem Zeitaufwand und Frustrationen beim Umgang mit dieser Richtlinie.