Holen Sie sich die UMFANGREICHSTE Abdeckung für die Einhaltung von MISRA C! Erfahren Sie mehr >>

Ein reibungsloser Weg zur Einhaltung von MISRA

Von Markus Lambert

28. September 2017

5  min lesen

Schon die Aufgabe, eingebettete Softwareanwendungen zu bauen, war mit Herausforderungen verbunden, und mit der Einführung des IoT scheint nun alles mit dem Internet verbunden zu sein – gleichzeitig steigt die Komplexität der Systeme und das Risiko von Sicherheitslücken. Um diese Herausforderungen zu mildern, orientieren sich viele Menschen an den MISRA-Richtlinien.

Die Motor Industry Software Reliability Association (MISRA) „Guidelines for the use of the C language in Critical Systems“ (bekannt als MISRA C 2012) ist eine Definition einer Teilmenge der C-Sprache, die darauf abzielt, potenzielle Fehler, Sicherheitslücken und Fehler zu minimieren die zu Programmausfällen oder schwerwiegenden Fehlern führen. Obwohl die Richtlinien ursprünglich für Automobilsysteme entwickelt wurden, wurden sie von vielen anderen Branchen für sicherheitskritische Anwendungen übernommen. In allen Fällen ist die Feststellung der Compliance, die in Lieferanten-Kunden-Beziehungen zunehmend gefordert wird, komplex und zeitaufwändig.

Compliance-Analyse und -Berichte

Es gibt viele Tools auf dem Markt, die Fehler melden, die darauf hinweisen, dass Code gegen eine Richtlinie verstößt, aber nur wenige Tools vereinfachen den Berichts- und Dokumentationsprozess, der zum Nachweis der Konformität erforderlich ist – ganz zu schweigen von der Implementierung der Richtlinien in Ihren Softwareentwicklungsprozess.

Um den gesamten Prozess zur Erreichung, Dokumentation und Aufrechterhaltung der MISRA-Compliance während des gesamten Produktlebenszyklus zu rationalisieren, haben wir unsere Berichts- und Analyseplattform (Parasoft DTP) so konzipiert, dass sie neben unserem C- und C++-Testtool C/++test Automatisierung und Unterstützung bietet. In diesem Beitrag dachte ich, ich würde besser erklären, wie Sie diese Tools gemeinsam nutzen können, um eine MISRA Compliance weniger Kopfschmerzen.

Navigieren auf der Bumpy Compliance Road

Konformität ist ein binärer Zustand - Code ist entweder konform oder nicht, und die MISRA-Richtlinien erwarten, dass der gesamte Code den im Standard festgelegten Richtlinien und Regeln entspricht. Daher ist es nicht einfach, in einem großen komplexen Projekt die vollständige Konformität zu erreichen. Zusätzlich zur Herausforderung erfordern viele Lieferanten- / Kundenbeziehungen, dass die Einhaltung des Standards durch Dokumentation nachgewiesen wird.

Um das Verfahren zur Umsetzung der MISRA-Codierungsrichtlinien besser zu verdeutlichen, hat MISRA 2016 Compliance-Richtlinien herausgegeben, um Entwicklungsorganisationen dabei zu helfen, Compliance zu erreichen und zu dokumentieren. Um diesen Prozess durch Automatisierung zu vereinfachen, ist Folgendes erforderlich:

  • Hochrangige Echtzeitansichten des Gesamtprojektstatus, um sicherzustellen, dass die Einhaltung in den Entwicklungsprozess einbezogen wird
  • Automatisierte Erstellung von Berichten, die den MISRA-Compliance-Richtlinien (z. B. MISRA Compliance:2016) entsprechen, um den Aufwand für die Erstellung der unterstützenden Dokumentation zu reduzieren
  • Schnelle und einfache Workflows zur Untersuchung von Verstößen und zur Priorisierung von Korrekturmaßnahmen, um den Prozess zu optimieren, mit dem ein Projekt auf dem richtigen Weg zur Einhaltung der Vorschriften ist

Unter Berücksichtigung dieser Richtlinien haben wir die Berichts- und Analyseplattform (DTP) entwickelt, um die Bereitstellung von C / C ++ - Tests anzupassen und zu erweitern. Sie bieten intelligente Analysen, um den Stakeholdern ein tieferes Verständnis der Testabdeckung und der durch Änderungen verursachten Risiken zu vermitteln. Für den MISRA-Standard vereinfacht DTP den Prozess des Erreichens, Durchsetzens und Dokumentierens von Compliance und beweist gleichzeitig Funktionalität, Leistung und Sicherheit.

Das MISRA Compliance Dashboard

Dieses aktueller Konformitätsstand eines Projekts ist eine wichtige Messgröße, ebenso wie die verschiedenen Feinheiten bei der Messung der Compliance. DTP bietet ein umfassendes MISRA-Compliance-Dashboard, das eine Vor-Ort-Bewertung des Projekts ermöglicht. Diese übergeordnete Ansicht ist für Manager und Entwickler gleichermaßen wichtig. Sie bietet Managern auf einen Blick eine leicht zugängliche Ansicht der Compliance und gibt Entwicklern einen Ausgangspunkt, um Fortschritte bei der Erreichung der Compliance zu erzielen und Prioritäten bei der Arbeit zu setzen.

Neuer Call-to-Action
Abbildung 1: Ein Beispiel für das MISRA-Compliance-Dashboard von DTP.

MISRA-Compliance-Paket

Zusätzlich zum MISRA-Compliance-Dashboard bietet Parasoft ein vollständiges Compliance-Paket, das speziell die Anforderungen an die Compliance-Dokumentation von MISRA behandelt. Das MISRA Compliance Pack für DTP bietet eine automatisierte Dokumentation gemäß den Richtlinien von MISRA Compliance: 2016, wodurch sich der Zeit- und Arbeitsaufwand für den Nachweis der Einhaltung einer Zertifizierungsstelle erheblich verringert. Diese schließen ein:

Der Richtlinien-Durchsetzungsplan

Der Durchsetzungsplan für MISRA-Richtlinien zeigt, wie jede MISRA-Richtlinie überprüft wird. In den meisten Fällen zeigt dies die Verbindung zwischen einer MISRA-Direktive oder -Regel und den zugehörigen Code-Analyseregeln oder der DTP-Funktion. Siehe das folgende Beispiel:


Abbildung 2: Ein Beispiel für den MISRA Guideline Enforcement Plan-Bericht von DTP.

Der Plan zur Neukategorisierung von Richtlinien

Der MISRA-Richtlinien-Neukategorisierungsplan wird verwendet, um die vereinbarte Bedeutung für die Richtlinien als Teil der Lieferanten- / Kundenbeziehung zu kommunizieren. Das Dokument zeigt, wie jede Richtlinie speziell für das aktuelle Projekt kategorisiert wird. Obligatorische und erforderliche Richtlinien können nicht auf eine niedrigere Ebene herabgestuft werden. Ein Projekt kann sich jedoch dazu entschließen, erforderliche oder beratende Richtlinien auf eine strengere Einstellung zu aktualisieren, und Ratschläge können nicht angewendet werden (dh für die Einhaltung nicht erforderlich gemacht werden). Unten sehen Sie ein Beispiel für einen Umkategorisierungsplan:


Abbildung 3: Ein Beispiel für den Bericht des MISRA-Neukategorisierungsplans von DTP.

Abweichungsbericht

Der MISRA-Abweichungsbericht dokumentiert die abweichenden Verstöße gegen Richtlinien mit angemessener Begründung. Jedes Mal, wenn ein Regelverstoß festgestellt wird, aber bestehen bleiben darf, muss er im Abweichungsbericht dokumentiert werden. In den meisten Fällen handelt es sich dabei um unterdrückte Fehler, die bei der Codeanalyse gemeldet wurden. Ein Beispielbericht ist unten dargestellt:


Abbildung 4: Ein Beispiel für den MISRA-Abweichungsbericht von DTP

Zusammenfassung der Richtlinienkonformität

Die Compliance-Zusammenfassung ist die Hauptaufzeichnung der gesamten Projekt-Compliance. Dieser Bericht dokumentiert den Konformitätsstatus für jede Richtlinie sowie alle damit verbundenen Abweichungen oder Neukategorisierungen. Ein Beispiel ist unten gezeigt:


Abbildung 5: Ein Beispiel für den MISRA-Compliance-Bericht von DTP

Auf dem Weg zur Einhaltung

In den meisten Fällen handelt es sich bei Verstößen bei der Analyse des Quellcodes auf MISRA-Konformität um Verstöße gegen statische Analyseregeln. In einem großen Projekt werden zunächst viele Fehler gemeldet, und eine schnelle und effiziente Verwaltung ist von entscheidender Bedeutung. Der DTP-Verstoß-Explorer ist das Schlüsselwerkzeug zum Navigieren, Bewerten, Priorisieren und Zuweisen gemeldeter Fehler zur Behebung. Wenn sich ein Verstoß gegen eine statische Analyseregel als gültig, aber gerechtfertigt, als harmlos oder nicht zutreffend herausstellt, kann ein Entwickler den Fehler unterdrücken und eine Abweichung kann dokumentiert werden. Diese Abweichungen werden über jede Ebene des Projekts hinweg an das Dashboard und die Compliance-Dokumentation gemeldet. Ein Beispiel für den Verstoß-Explorer ist unten dargestellt:


Abbildung 6: Ein Beispiel für eine Verletzung, die im Verstoß-Explorer von DTP untersucht wird.

Durchsetzung, Einhaltung und Rückverfolgbarkeit

Zusammenfassend bietet der MISRA-Standard bei der Entwicklung sicherheitskritischer Software umfassende Richtlinien zum Schutz vor Sicherheitslücken und Programmfehlern. Die Anwendung dieser Richtlinien und der Nachweis der Einhaltung kann jedoch zu aufwändig sein. Eine Straffung ist von entscheidender Bedeutung, um pünktliche Software-Ergebnisse sicherzustellen.

Damit Software Ihnen bei dieser Arbeit hilft, können Sie:

  • Verwenden Sie den C / C ++ - Test, um die MISRA-Richtlinien nach jedem Software-Build durch statische Code-Analyse zu überprüfen und die tägliche Durchsetzung sicherzustellen.
  • Erstellen Sie allgemeine Übersichten und detaillierte Berichte, die Sie schnell aus dem MISRA Compliance Pack von DTP erhalten, um die Einhaltung effizient nachzuweisen.
  • Nutzen Sie DTP für die Rückverfolgbarkeit der Projektanforderungen auf Tests, eine wichtige Anforderung nicht nur von MISRA, sondern auch der Sicherheitsstandards.

Am Ende des Tages unterstützen MISRA Compliance während des gesamten Lebenszyklus ist wichtig für die fortlaufende Durchsetzung und Rückverfolgbarkeit. Die Automatisierung der Dokumentation gemäß den Richtlinien von MISRA Compliance: 2016 ist der Schlüssel, um Zeit und Frust beim Umgang mit dieser Richtlinie zu sparen.

Neuer Call-to-Action

„MISRA“, „MISRA C“ und das Dreieckslogo sind eingetragene Marken von The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Alle Rechte vorbehalten.

Von Markus Lambert

Mark, Vice President of Products bei Parasoft, ist dafür verantwortlich, dass Parasoft-Lösungen den Unternehmen, die sie einsetzen, einen echten Mehrwert bieten. Mark ist seit 2004 bei Parasoft und arbeitet mit einem breiten Querschnitt von Global 2000-Kunden zusammen, von spezifischen Technologieimplementierungen bis hin zu umfassenderen Initiativen zur Verbesserung von SDLC-Prozessen.

Erhalten Sie die neuesten Nachrichten und Ressourcen zum Testen von Software sofort.