Parasoft-Logo
Geometrischer Hintergrund mit einem Hauch von Blau und Grün

Einhaltung von AUTOSAR-C++-Regeln und Codierungsstandards

C++ ist eine komplexe Sprache und erfordert einen hohen Aufwand, um Vorhersehbarkeit, Sicherheit und Schutz zu gewährleisten. AUTOSAR (AUTomotive Open System Architecture) hat die AUTOSAR C++14-Anforderungen festgelegt, um die Verwendung von C++14 auf vorhersehbare Konstrukte zu beschränken. Erfüllen Sie diese Anforderungen mit Parasoft-Lösungen, um Sicherheitsrisiken zu minimieren.

Was ist AUTOSAR?

Die AUTomotive Open System ARchitecture (AUTOSAR) ist aus einer Entwicklungspartnerschaft von Automobilunternehmen hervorgegangen. Die 2003 gegründete Gruppe strebte die Entwicklung einer standardisierten und offenen Softwarearchitektur für elektronische Steuergeräte (ECUs) im Automobilbereich an. Sie umfasst auch Halbleiter.

Die AUTOSAR Ziel der Entwicklungspartnerschaft war es, die Wirksamkeit und Verfügbarkeit von Sicherheitsanforderungen sowie Skalierbarkeit, Übertragbarkeit und Nachhaltigkeit über den gesamten Produktlebenszyklus hinweg zu verbessern. Diese Prinzipien werden zwar häufig mit Medizinprodukten in Verbindung gebracht, gelten aber auch für bestimmte Automobiltechnologien, die als sicherheitskritische Systeme eingestuft werden. Produkte wie Airbags erfordern eine Technologie, die sie präzise auslöst, während Systeme wie die Motorsteuerung Konsistenz erfordern.

Mehr eingebettete Software in Automobilen bedeutet auch eine umfangreiche Datenerfassung und Echtzeitverarbeitung. Verschiedene Aspekte von AUTOSAR zielen darauf ab, die Anforderungen moderner Automobilelektronik und Softwarekomponenten zu erfüllen.

Bild eines autonomen Fahrzeugs, das nachts auf eine Stadtlandschaft zufährt.

Aufschlüsselung der AUTOSAR C++14-Codierungsrichtlinien

Mehr lesen

AUTOSAR Classic Platform vs. AUTOSAR Adaptive

Es gibt zwei Arten von AUTOSAR-Plattformen: Adaptive und Classic. Die AUTOSAR Classic-Plattform bietet nicht die Flexibilität und Rechenleistung der Adaptive-Plattform. Die zunehmende Komplexität der Automobiltechnologie erfordert einfachere Reaktionen und schnellere Antworten. Die beiden Plattformen sind jedoch keine Rivalen, sondern Teamkollegen. Beide dienen unterschiedlichen Zwecken im Ökosystem der Automobilkonstruktion und -entwicklung.

Grafischer Vergleich der AUTOSAR Classic- und Adaptive-Plattformen nebeneinander

AUTOSAR-Classic-PlattformAdaptive AUTOSAR-Plattform
Ideal für eine Single- oder Multicore-Architektur und tief eingebettete ECUs.Ideal für neuere ECUs und soll auf HPC-Architekturen laufen, um diese besser zu nutzen.
Verwendet signalbasierte Kommunikation mit BUS-Netzwerken wie LIN oder CAN.Verwendet dienstbasierte Kommunikation mit Ethernet.
Definiert ein Betriebssystem (OS).Definiert den Ausführungskontext sowie eine Betriebssystemschnittstelle wie PSE51.
Statische Natur mit geringer Flexibilität.Bietet „geplante Dynamik“ während der Anwendungsbereitstellung mit flexibler Integration.
Fristen sind aufgrund der Echtzeitverarbeitung dringender.Weiche Echtzeitanforderung.
Beispiele sind Bremssysteme und Motorsteuerung.Beispiele hierfür sind die Verarbeitung von Sensorfusionsdaten und Over-the-Air-Updates (OTA-Updates).

Was ist AUTOSAR C++14?

AUTOSAR C++14 ist ein Codierungsstandard für C++ Version 14 (ISO/IEC 14882:2014). Es ist auch ein Artefakt oder eines der Ergebnisse der Definition der Adaptive AUTOSAR-Plattform, die Schnittstellenspezifikationen für APIs und Dienste bereitstellt. Dieser Abschnitt der AUTOSAR-Codierungsrichtlinien wurde ursprünglich aktualisiert MISRA C++ 2008 – ein veralteter Programmierstandard. MISRA und AUTOSAR gaben jedoch 2019 ihre Fusion bekannt, um die Aktualisierung auf C++17 zu unterstützen, die mittlerweile zur Standardsprache für viele moderne AUTOSAR-Elektroniklösungen geworden ist. Diese Richtlinien sind so robust und optimiert, dass sie von jeder Branche angewendet werden können, die Embedded-Programmierung in C++ benötigt.

AUTOSAR C++14 Regeln und Abweichungen

AUTOSAR C++14 verfügt über 342 Regeln, die ein klares Verständnis und eine Orientierung hinsichtlich der Codierungsanforderungen bieten. Die Codierungsregeln von AUTOSAR C++14 sind nach Verpflichtungsstufe klassifiziert.

  • Erforderliche Regeln
    Obligatorisch, um die Einhaltung des Standards zu beanspruchen.
  • Beratungsregeln
    Empfohlen, aber ohne Pflichtstatus.

Entwickler können jedoch mit Genehmigung von einem AUTOSAR-Standard, einer AUTOSAR-Regel oder einer AUTOSAR-Richtlinie abweichen. Um Missbrauch zu verhindern, ist für jede Abweichung eine formelle Freigabe erforderlich. AUTOSAR klassifiziert Regeln außerdem danach, ob statische Analysewerkzeuge sie automatisch durchsetzen können.

  • Automated
    Die Automatisierung kann vollständig durch statische Analysetools unterstützt werden.
  • Teilweise automatisiert
    Die Automatisierung kann vollständig durch statische Analysetools unterstützt werden.
  • Nicht automatisiert
    Kann nicht mit statischen Analysetools unterstützt werden.

Die Verwendung von C++14 in Verbindung mit den AUTOSAR C++14-Richtlinien ermöglicht Entwicklern den Einsatz überlegener Compiler und verbessert den Zugriff auf erweiterte Test-, Verifizierungs- und Analysetools. Dies ermöglicht den Einsatz neuer Entwicklungsmethoden wie Continuous Integration/Continuous Delivery (CI/CD), die Fehler im Softwareentwicklungszyklus früher erkennen.

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

Vorteile der richtigen Lösung in Ihrem AUTOSAR-Software-Toolkit

Die richtigen Entwicklungstools zur Sicherstellung der Softwarequalität zu finden, ist eine Frage von Versuch und Irrtum. Das heißt aber nicht, dass Sie mit unerprobten Tools oder Strategien experimentieren müssen. Die vielen Vorteile der Test- und Compliance-Automatisierung liegen auf der Hand.

Das frühzeitige Erkennen von Problemen erleichtert allen an der Softwareentwicklung Beteiligten die Arbeit. Von der Softwarearchitektur und Anwendungssoftware bis hin zu Diagnose und Validierung berücksichtigen die Lösungen von Parasoft alles.

Setzen Sie auf AUTOSAR C++14-Konformität, um sichere und zuverlässige Software zu entwickeln. So senken Sie die Entwicklungskosten, beschleunigen die Markteinführung und gewährleisten den langfristigen Produkterfolg.

Erhöhen Sie die Codequalität und senken Sie die Fehlerkosten

Verhindern Sie Codefehler früher im Entwicklungsprozess, bevor sie später zu teureren Herausforderungen führen.

Erfüllen Sie die Prozessstandards der Industrie

Parasoft bietet die statische Analyse von AUTOSAR C++14 als Lösung an, die von Prozessstandards wie ISO 26262, DO-178C, IEC 62304, IEC 61508, EN 50128 und mehr empfohlen wird.

Erfüllen Sie statische Analyse-Sicherheitstests (SAST)

Integrieren Sie die Sicherheitscodierungsrichtlinien von AUTOSAR C++14 als Teil Ihrer SAST-Strategie direkt in Ihren Softwareentwicklungslebenszyklus.

Intelligenter testen mit KI und ML

Parasoft integriert künstliche Intelligenz und maschinelles Lernen, um die Produktivität in den statischen AUTOSAR C++14-Analyse-Workflows Ihres Teams zu verbessern, indem die zuerst zu behebenden Verstöße gekennzeichnet und priorisiert werden.

Integrieren Sie die statische Analyse von AUTOSAR C++14 in Ihren CI/CD-Workflow

Die statische AUTOSAR C++14-Analyse von Parasoft lässt sich problemlos in Ihre optimierte CI/CD-Pipeline integrieren und führt kontinuierliche Tests durch, um schnell qualitativ hochwertige und sichere Software bereitzustellen.

Erweitern Sie AUTOSAR C++14 und erstellen Sie benutzerdefinierte Codierungsrichtlinien

Erstellen Sie mit dem Parasoft RuleWizard Ihre eigene benutzerdefinierte Codierungsstandardkonfiguration für Ihr Unternehmen.

Kombinieren Sie Codierungsstandards mit AUTOSAR C++14 für optimale Codequalität

Parasoft bietet die Aggregation von MISRA mit allen unseren anderen unterstützten Codierungsstandards wie CERT, CWE, OWASP, UL 2900 und mehr.

Best Practices für AUTOSAR

Wenn es um die Einhaltung von AUTOSAR C++14 geht, gibt es mehrere sehr vorteilhafte Vorgehensweisen. Hier ist eine Liste mit einigen der zu berücksichtigenden Methoden.

Code-/Peer-Reviews durchführen

Treffen Sie sich zusätzlich zur Einhaltung von AUTOSAR C++14 mit Ihren Kollegen aus der Softwareentwicklung und überprüfen Sie den Code des anderen systematisch auf Fehler und Verstöße gegen den Programmierstil. Es hat sich gezeigt, dass diese Aktivität die Codequalität beschleunigt und wesentlich verbessert.

Protokollieren Sie Ihre Abweichungen richtig

Jede Abweichung von der AUTOSAR C++14-Richtlinie erfordert eine gründliche Dokumentation der folgenden Punkte: der spezifischen Richtlinie, des Umfangs, der Begründung, der Sicherheitsgarantie, der Konsequenzen und der Schadensbegrenzung.

Code-Klarheit

Die AUTOSAR C++14-Konformität hilft Ihnen, Code zu schreiben, der leicht zu lesen und zu verstehen ist. Seien Sie nicht zu schlau und schreiben Sie keinen kryptischen Code, der schwer zu verstehen oder leicht misszuverstehen ist. Sie möchten nicht, dass andere Ingenieure oder Sie selbst viel Zeit damit verbringen, einen Fehler in Ihrem Code zu entschlüsseln.

Code-Portabilität

Die AUTOSAR C++14-Konformität fördert die Code-Portabilität und ermöglicht die einfache Migration von Software zwischen Plattformen wie POSIX- und ANSI-C-basierten Systemen mit minimalen Änderungen. Diese Flexibilität reduziert den Anpassungsaufwand beim Wechsel von Compilern, Betriebssystemen oder Hardwarezielen und ermöglicht Unternehmen, Kosteneinsparungen oder strategische Chancen ohne größere Nacharbeiten zu nutzen.

Reduzieren Sie AUTOSAR C++14-Rauschen

Bestimmte Code-Konstrukte können gegen die AUTOSAR C++14-Regeln verstoßen. Parasoft ermöglicht es Ihnen, dieses Rauschen gezielt herauszufiltern.

Codekomplexität

Die Einhaltung von AUTOSAR C++14 hilft beim Schreiben von Code, der nicht viele Verzweigungen hat. Je mehr Verzweigungen, desto höher die Codekomplexität und desto höher die Anzahl der im Code gefundenen Fehler.

Code-Robustheit

Die AUTOSAR C++14-Konformität hilft Ihnen beim Schreiben von zuverlässigem Code, der erwartete und unerwartete Szenarien – einschließlich negativer Anwendungsfälle und ungültiger Datenbedingungen – verarbeitet und so die Anwendungsstabilität gewährleistet.

Wiederverwendbarkeit des Codes

Die Einhaltung von AUTOSAR C++14 hilft Ihnen, portablen Code zu schreiben, der in zukünftigen Produkten oder Projekten wiederverwendet werden kann. Dies verbessert die Produktivität und reduziert Arbeits- und Testkosten.

Beispielanwendungsfälle

Moderne Automobil-Softwaresysteme setzen zunehmend auf offene, standardisierte Architekturen wie AUTOSAR, um sicherheitskritische autonome Fahr- und Konnektivitätsfunktionen zu ermöglichen. Zwei wichtige Beispiele dafür Compliance für Softwaretests für autonomes Fahren umfasst:

  1. Fortschrittliche Fahrerassistenzsysteme (ADAS) wie LIDAR verwenden AUTOSAR-kompatible Software, um durch die präzise Erfassung umgebender Objekte Kollisionsrisiken zu erkennen.
  2. Die Einparkhilfe beim automatisierten Fahren ist auf Code angewiesen, der AUTOSAR-Architekturanforderungen um sichere, präzise Manöver ohne Eingreifen des Fahrers auszuführen.

Dies sind nur einige bemerkenswerte Beispiele. Die zunehmende Verbreitung der AUTOSAR Adaptive Platform und IoT-fähiger Fahrzeuge macht Echtzeit-Datenmessung und adaptive Reaktionsfähigkeiten erfolgsentscheidend.

Automatisiertes AUTOSAR-Compliance-Reporting

Das Analyse-Dashboard von Parasoft mit automatisiertem AUTOSAR-Compliance-Reporting macht es einfach, den für die Zertifizierung erforderlichen Nachweis zu erbringen.

Für sicherheitskritische Anwendungen sollten Sie unsere TÜV SÜD-zertifizierte Lösung verwenden, um die Einhaltung von Standards und eine einfache Übernahme in Ihre Hochleistungsentwicklungsprozesse zu gewährleisten.

Erste Schritte

Das Tolle an der AUTOSAR C++14-Kompatibilität ist, dass Sie sie Ihrem Team vorstellen und in jeder Softwareentwicklungsphase eines Projekts einsetzen können. Noch besser: Sie ist selbst dann effektiv, wenn ein Projekt oder Ihre ECU-Software unvollständig und nur teilweise codiert ist.

AUTOSAR-Herausforderungen

  • Eine große Menge an Code kann eine große Anzahl von Warnungen erzeugen.
    Die größte Herausforderung bei der Einführung von AUTOSAR C++14-Kompatibilität besteht darin, dass eine große Codemenge eine große Anzahl von Warnungen erzeugen kann. Daher sollte der Fokus bei der Integration von AUTOSAR C++14-Kompatibilität in ein Projekt darauf liegen, das Team so schnell wie möglich produktiv zu machen. Dadurch wird die Gefahr minimiert, dass das Team von statischen Analysewarnungen überwältigt wird.

Da die Einhaltung der AUTOSAR C++14-Vorgaben zum Alltag jedes Entwicklers wird, können diese die Ergebnisse schneller analysieren und Fehler effizienter beheben.

Auch der Reifegrad des zu entwickelnden Produkts ist wichtig, da er Einfluss darauf hat, wie die AUTOSAR C++14-Konformität integriert wird. Das Adoption Lifecycle Management funktioniert wie unten beschrieben.

Die Zahl 1 in einem blauen Kreis

Anerkennen und verschieben

Dieser Ansatz zielt auf bestehende Projekte ab, die bereits auf dem Markt sind. Da nur minimal neuer Code entwickelt wird, sammeln sich alle entdeckten Sicherheitslücken und Schwachstellen als technische Schulden in der bestehenden Codebasis an.

Die Zahl 2 in einem blauen Kreis

Eine Linie im Sand

Bei bestehenden Projekten mit aktueller Entwicklung verbessern die Teams den neuen Code während der Entwicklung, um weniger kritische Warnungen als technische Schulden aufzuschieben.

Die Zahl 3 in einem blauen Kreis

Greenfield

Neue Projekte übernehmen diesen Ansatz. Entwickler können die AUTOSAR C++14-Konformität von Anfang an in ihre Entwicklungsumgebungen integrieren, um einen hohen Qualitätsstandard des Codes sicherzustellen.

Warum Parasoft?

Symbol eines Zugs mit weißer Umrandung in der Mitte eines blauen Kreises

Aktivieren Sie automatisierte Nachbearbeitung und erweiterte Berichtsstrategien

Zeigen Sie die Ergebnisse der AUTOSAR C++14-Konformität von C/C++test im dynamischen Berichts-Dashboard von Parasoft an. Sie können die Nachbearbeitung und erweiterte Berichtsstrategien mithilfe historischer Daten automatisieren.

Die Ergebnisse der AUTOSAR C++14-Konformität lassen sich über verschiedene Builds hinweg leicht erkennen. Dies gilt auch bei großen Codebasen und Legacy-Code, bei denen die Transparenz des Codes oft schwierig ist. Sie können sich schnell auf die Qualität des neu hinzugefügten Codes konzentrieren.

blaues Dollarsymbol

Zeit- und Kostenersparnis

Die Parasoft Codeanalyse-AUTOSAR-Lösung C/C++test erkennt komplexe AUTOSAR C++14-konforme Laufzeitprobleme in einer AUTOSAR-Laufzeitumgebung bereits in der Entwicklungsphase – ohne kostspielige Laufzeittests. Dies optimiert Entwicklungsprozesse zum Nutzen aller Beteiligten.

Der C/C++-Test analysiert die Ausführungspfade im Code und findet AUTOSAR C++14-Konformitätsprobleme wie Nullzeiger-Dereferenzierung, Division durch Null und Speicherlecks. Außerdem sucht er nach Sicherheitslücken wie Arithmetik auf einem Zeigeroperanden, Pufferüberläufen, nicht erreichbarem Code und der cstdlib-Systemfunktion.

Blaues Zahnradsymbol

Automatische Berichte erstellen

Mit Widgets, die die AUTOSAR C++14-Compliance automatisch nachverfolgen, erhalten Benutzer einen dynamischen Einblick in den Compliance-Prozess und können auf einfache Weise automatische Berichte für Code-Audits und Zertifizierungsziele erstellen.

Fußzeilenbanner mit Personen, die an Computern arbeiten und sich unterhalten

Verbessern Sie Ihre Softwaretests mit Parasoft-Lösungen.

Kontakt