Holen Sie sich die neuesten wichtigen Update-Informationen für die Log4j-Sicherheitslücke. Sehen Sie sich an, wie Sie das Problem mithilfe der Parasoft-Anleitung beheben können. Erfahren Sie mehr >>

X
BLOG

So wählen Sie das richtige Tool für die AUTOSAR C ++ - Konformität zur Unterstützung von ISO 26262 aus

So wählen Sie das richtige Tool für die AUTOSAR C ++ - Konformität zur Unterstützung von ISO 26262 aus Lesezeit: 5 Minuten

Teams, die ihre Bemühungen zur Einhaltung von ISO 26262 durch Anwendung der AUTOSAR C ++ - Codierungsrichtlinien optimieren möchten, sind erfolgreicher, wenn sie bei der Auswahl der statischen Analysewerkzeuge für ihr Projekt gut informiert sind. Lesen Sie weiter für einige Tipps des Handels.

Die C-Sprache, die jahrelang den Automobilbereich beherrschte, reicht nicht mehr aus, um die wachsende Komplexität von Automobilsoftwarearchitekturen zu bewältigen, und mit der Anforderung eines objektorientierten Designs ist C ++ für viele Automobilteams eine natürliche Wahl. C ++ ist jedoch eine komplizierte Sprache und erfordert viel Aufwand, um Vorhersehbarkeit, Sicherheit und Schutz zu gewährleisten.

Die funktionale Sicherheitsnorm für Kraftfahrzeuge ISO 26262 enthält einige Anleitungen zur Softwareentwicklung und zu V & V-Prozessen, geht jedoch auf der Ebene der Sprachkonstrukte nicht eingehend ein. Um solche Anleitungen zu erhalten, wenden sich Unternehmen Codierungsstandards wie MISRA C / C ++ oder AUTOSAR C ++ zu. In diesem Blog werde ich erläutern, wie ISO 26262 mithilfe eines statischen Analysetools eingehalten wird, das mit AUTOSAR C ++ 14-Konformitätsprüfern konfiguriert ist.

Verwendung von AUTOSAR C ++ zur Optimierung der ISO 26262-Konformität

Die Einhaltung eines funktionalen Sicherheitsstandards wie ISO 26262 erfordert erhebliche Anstrengungen und muss von Anfang an ein integraler Bestandteil des Projekts sein. Selbst bei den Softwarekomponenten erfordert die Einhaltung spezifischer Aktivitäten bei der Erfassung, Planung und Implementierung von Anforderungen, und dies kann definitiv nicht später hinzugefügt werden.

ISO 26262 spezifiziert eine Sammlung von Methoden, die erforderlich sind, um die Einhaltung der Norm zu erreichen. Um die Einhaltung zu fordern, müssen Benutzer nachweisen, dass alle geltenden Anforderungen und Methoden implementiert wurden. Nicht alle Methoden gelten für alle. Die Anwendbarkeit der Methode hängt vom Integrationsgrad der Fahrzeugsicherheit (ASIL) ab, einer in der Norm definierten Risikoklassifizierung (ASIL A steht für den niedrigsten Grad und ASIL D für den höchsten Grad der Gefahr für Kraftfahrzeuge). Die Methode kann sehr empfohlen, empfohlen oder neutral sein.

Die Herausforderung, vor der Teams normalerweise stehen, wenn sie versuchen, den Standard einzuhalten, besteht darin, die für ihre Prozesse empfohlenen Methoden zu implementieren. Die Entscheidung, wie die spezifische Methode oder Anforderung eingehalten werden soll, basiert häufig auf der Teamerfahrung. In einigen einfachen Situationen können manuelle Verfahren und Überprüfungen eine Antwort sein. In den meisten Fällen versuchen Teams jedoch, Tools zu finden, mit denen die erforderlichen Methoden automatisiert werden können.

Ein Werkzeug, das zur Einhaltung von ISO26262 verwendet wird, muss für die beabsichtigte Verwendung durch den formalen Prozess genehmigt werden, der als Werkzeugqualifizierung bezeichnet wird. Ziel der Qualifizierung von Softwaretools ist es, die Eignung von Softwaretools für die Entwicklung eines sicherheitsrelevanten Elements oder Elements nachzuweisen. Dies kann eine zeit- und ressourcenintensive Aufgabe sein. (Wenn Sie verwenden Parasoft C / C ++ testwird es mit einem unterstützt automatisiertes Qualifizierungskit Dies rationalisiert den Qualifizierungsprozess und beinhaltet eine TÜV SÜD-Zertifizierung, die in vielen Situationen für die Werkzeugqualifizierung ausreicht.

Wie hilft der AUTOSAR C ++ Coding Standard?

Das Befolgen eines Codierungsstandards wie AUTOSAR C ++ ist eine allgemein anerkannte Methode, um einige der Anforderungen aus ISO 26262 zu erfüllen. AUTOSAR C ++ 14 enthält die Rückverfolgbarkeitstabellen, in denen die ISO 26262-Prinzipien und -Empfehlungen den entsprechenden Codierungsrichtlinien zugeordnet sind. Die Zuordnung deckt hauptsächlich Abschnitt 8 von Teil 6 der ISO 26262 ab und vereinfacht den Prozess der Einhaltung der entsprechenden Methoden und Anforderungen der Norm erheblich.

Die Codierungsrichtlinien von AUTOSAR C ++ 14 allein reichen jedoch nicht aus, um die Konformität mit ISO 26262 für die Softwarekomponente zu erreichen. Einige Methoden im Standard können nicht mit der Anwendung von AUTOSAR-Richtlinien abgedeckt werden, z. B. Methoden 1g, in denen die Verwendung von Stilrichtlinien empfohlen wird, oder Methode 1h, in der die Verwendung von Namenskonventionen empfohlen wird. AUTOSAR C ++ 14 enthält keine Styleguides oder Namenskonventionen. Beide Methoden können jedoch problemlos mit dem Parasoft C / C ++ - Test implementiert werden, der mehr als 3000 statische Analyseprüfungen, einschließlich Codestilprüfungen, umfasst und ein Modul zum Erstellen benutzerdefinierter statischer Analyseregeln bereitstellt. Methoden in der Norm, die mit statischer Analyse im Allgemeinen nicht implementiert werden können, erfordern andere Testtechniken, wie z. B. Fehlerinjektionstests.

3 Schlüsselfunktionen, die Sie für die Einhaltung von AUTOSAR C ++ 14 benötigen

Dies bringt uns natürlich dazu, das richtige Tool zu finden, um die Compliance am einfachsten zu gestalten. Die Einführung des Codierungsstandard-Compliance-Prozesses in den Teamentwicklungsworkflow ist keine leichte Aufgabe. Daher ist es sehr wichtig, ein Tool auszuwählen, das zur Erreichung der Compliance beiträgt, ohne zu viel Aufwand zu verursachen und ohne dass zusätzliche manuelle Verfahren erforderlich sind. Die folgenden Punkte sind wichtige Entscheidungsfaktoren bei der Auswahl der Lösung für die statische Analyse.

1. Abdeckung der Kodierungsrichtlinien aus dem Standard

AUTOSAR C ++ 14 definiert eine erhebliche Anzahl der Richtlinien. Die aktuellste Version des AUTOSAR-Codierungsstandards enthält derzeit ungefähr 400 Richtlinien, von denen 350 durch statische Analyse durchgesetzt werden können. Die Unterstützung dieser Anzahl von Richtlinien ist eine Herausforderung für Anbieter von statischen Analysetools, und nicht alle auf dem Markt verfügbaren statischen Analysetools decken den Standard ausreichend ab, um die Anforderungen zu erfüllen. (Schamloser Stecker: Parasoft C / C ++ test ist in diesem Fall die führende Lösung, die die höchste Anzahl der AUTOSAR C ++ - Richtlinien abdeckt und jeden Tag mehr implementiert.)

2. Unterstützung für Daten- und Flussanalysetechnologie

Richtlinien, die im AUTOSAR C ++ - Codierungsstandard definiert sind, weisen unterschiedliche Komplexitätsstufen auf. Einige sind einfache Richtlinien, die mit einer relativ einfachen statischen Analysetechnologie durchgesetzt werden können, aber es gibt auch Richtlinien, die eine ausgefeilte Daten- und Kontrollflussanalyse erfordern, um die Pfade im analysierten Quellcode zu simulieren und zu entscheiden, ob eine bestimmte Richtlinie verletzt wird oder nicht.

Das von Ihnen ausgewählte statische Analysetool muss die Pfade im Code auswerten, um festzustellen, ob der Index, der für den Zugriff auf die Daten im Container verwendet wird, im richtigen Bereich liegt oder nicht. Viele kommerzielle Tools und die meisten Open-Source-Tools auf dem Markt wenden eine sehr rudimentäre Flussanalyse auf diese Problemklasse an. Tatsächlich übersehen sie entweder ein Problem im Code oder melden eine enorme Anzahl von Fehlalarmen, die sehr viel Zeit in Anspruch nehmen Produktivität überprüfen und töten. Beim Benchmarking eines statischen Analysewerkzeugs würde ich dringend empfehlen, dass Sie dem Vergleich der Ergebnisse für komplexere Richtlinien, für die eine Durchflussanalysetechnologie erforderlich ist, besondere Aufmerksamkeit widmen.

3. Unterstützung für die Werkzeugqualifizierung

Obwohl für AUTOSAR C ++ keine explizite Werkzeugqualifizierung erforderlich ist, um die statische Analyselösung für die Verwendung zu genehmigen, ist dies bei ISO 26262 der Fall. Wenn Sie planen, AUTOSAR C ++ zur Optimierung der Konformität mit ISO 26262 zu verwenden, wird empfohlen, eine statische Analyselösung auszuwählen, die Endbenutzer mit geeigneten Zertifikaten und einem Qualifizierungskit unterstützt.

Zusammenfassung

Das Befolgen eines Codierungsstandards wie AUTOSAR C ++ 14 kann Unternehmen dabei helfen, die Einhaltung von ISO 26262 zu erreichen, da im ISO 26262-Standard mehrere Methoden und Anforderungen definiert sind, die durch die Einhaltung der AUTOSAR-Codierungsrichtlinien erfüllt werden können. AUTOSAR C ++ 14 bietet dedizierte Rückverfolgbarkeitstabellen, die die Zuordnung zwischen den ISO 26262-Anforderungen und den Codierungsrichtlinien veranschaulichen. Teams, die ihre ISO 26262-Konformitätsbemühungen durch Anwendung der AUTOSAR C ++ - Codierungsrichtlinien optimieren möchten, sind erfolgreicher, wenn sie bei der Auswahl der Richtlinien gut informiert sind statische Analysewerkzeuge zur Verwendung in ihrem Projekt.

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

Geschrieben von

Miroslaw Zielinski

Zu den Spezialitäten von Miroslaw, dem Produktmanager für die eingebetteten Testlösungen von Parasoft, gehören C / C ++, RTOS, statische Code-Analyse, Komponententests, Verwaltung der Softwarequalität für sicherheitskritische Anwendungen und Einhaltung der Sicherheitsstandards durch die Software.

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