Entdecken Sie das TÜV-zertifizierte GoogleTest mit Agentic AI für C/C++-Tests!
Details ansehen »
Parasoft-Blog
AUTOSAR stellt die Herstellungsrichtlinien für die Entwicklung eingebetteter Software für elektronische Steuergeräte für Kraftfahrzeuge bereit. Diese eingebettete Software erfordert Tests, um optimal zu funktionieren. So hilft Parasoft C/C++test Automotive Compliance Pack dabei.
Zum Abschnitt springen
Die 2003 gegründete Organisation Automotive Open System Architecture ( AUTOSAR ) bietet Herstellern Leitlinien für die sichere Entwicklung eingebetteter Software für elektronische Steuergeräte (ECUs) in der Automobilindustrie. AUTOSAR ist ein Zusammenschluss von weltweit führenden Automobilherstellern wie Toyota, BMW, Ford und anderen. Ziel ist die branchenweite Standardisierung der Softwarearchitektur, um die zunehmend komplexen Steuerungssysteme zu verwalten und gleichzeitig die Qualität und Zuverlässigkeit dieser sicherheitskritischen Software zu verbessern.
Ein durchschnittliches Steuergerät kann Tausende von Funktionen enthalten. Vor der AUTOSAR -Architektur musste jedes Steuergerät bei Hardwareänderungen komplett neu programmiert werden. Mit der Entwicklung von AUTOSAR fand das Team einen Weg, die Software von der Hardware zu entkoppeln und schuf so einen neuen Branchenstandard für modulare und nachhaltige Anwendungen. Darüber hinaus entsprachen die neuen Standards internationalen Sicherheitsstandards für die Automobilindustrie, darunter ISO 14229 und ISO 27145.
Obwohl MISRA mit MISRA C++:2008 einen C++-Codierungsstandard entwickelt hatte, basieren dessen Regeln auf C++03 (ISO/IEC 14882:2003), welches viele der erforderlichen kritischen und sicherheitsrelevanten Softwareaspekte nicht abdeckt. Daher wählte die AUTOSAR-Gruppe C++14 (ISO/IEC 14882:2014) und entwickelte darauf aufbauend ihren eigenen Codierungsstandard, AUTOSAR C++14. Dieser Standard wird seit März 2017 zweimal jährlich aktualisiert und veröffentlicht.
Im Jahr 2017 veröffentlichte die AUTOSAR-Gruppe Richtlinien für die Verwendung der Sprache C++14 in kritischen und sicherheitsbezogenen Systemen. Es wird allgemein als AUTOSAR C++14 bezeichnet und ist jetzt Teil seiner übergreifenden AUTOSAR-Architekturplattform. Die Veröffentlichung von AUTOSAR C++14 wurde mit der Absicht eingeführt, MISRA C++:2008 abzulösen und zum De-facto-Codierungsstandard in der gesamten Automobilindustrie zu werden. Tatsächlich sind diese Richtlinien so robust, dass sie auf jede Branche angewendet werden können, die eingebettete Programmierung erfordert.
Ein weiterer Grund, warum C ++ 14 weiterhin ausgewählt wurde, war, dass Sicherheitsingenieure objektorientierte Sprachen akzeptierten und Entwicklern die Möglichkeit gaben, überlegene Compiler zu verwenden und den Zugriff auf verbesserte Test-, Verifizierungs- und Analysetools zu verbessern. Es ermöglichte auch die Verwendung neuer Entwicklungsmethoden wie Continuous Integration / Continuous Delivery (CI / CD), mit denen Fehler früher im Softwareentwicklungszyklus erkannt werden können. MISRA C ++: 2008 konnte keine dieser neuen Innovationen berücksichtigen.
AUTOSAR C ++ 14-Richtlinien werden für neue Fahrzeugtechnologien wie automatisiertes Fahren, Fahrzeug-zu-Fahrzeug- oder Fahrzeug-zu-Infrastruktur-Kommunikation (V2X), kontinuierliche drahtlose Aktualisierungen (OTA), hochauflösende Anzeigen und KI verwendet Computing. Während MISRA C ++: 2008 in einigen Projekten noch verwendet wird und Ingenieuren bei der Einführung eines Codierungsstandards geholfen hat, bleibt dieser Standard unvollständig. Dies liegt daran, dass seit der Veröffentlichung von C ++ 03 eine erstaunliche Anzahl von Verbesserungen an der Sprache vorgenommen wurden, während sich C ++ weiterentwickelte, was MISRA C ++: 2008 nicht tut.
Wenn sich eine Organisation auf MISRA C ++: 2008 verlässt, ist die Migration auf AUTOSAR C ++ 14 für sie ein erheblicher Aufwand. Dies ist jedoch auch von großem Wert, da das Delta zwischen MISRA C ++: 2008 und AUTOSAR C ++ 14 die seit 2003 in der C ++ - Sprache hinzugefügten Änderungen berücksichtigt. Daher sind alle Neuheiten in C ++ 11 und C ++ 14 vorhanden enthalten in AUTOSAR C ++ 14. Also ja, es gibt Auswirkungen, aber es ist auch sehr wertvoll, auf den neuen Standard zu aktualisieren.
AUTOSAR C++ 14 verfügt über 342 Regeln, die dem Benutzer ein klares Verständnis und eine Orientierung für die Programmieranforderungen bieten. Jede Regel wird danach klassifiziert, ob sie erforderlich oder empfehlenswert ist. „Erforderliche Regeln“ sind für die AUTOSAR C++14-Konformität zwingend erforderlich, während „empfohlene Regeln“ zwar nicht zwingend eingehalten werden müssen, aber dringend empfohlen werden. Abweichungen von Regeln oder Richtlinien können jedoch zulässig sein. Dennoch muss für jede Abweichung ein Freigabeverfahren vorgesehen werden, um den Missbrauch des Abweichungskonzepts durch willkürliche Abweichungen durch Entwickler zu verhindern.
Wenn Sie einen Codierungsstandard wie AUTOSAR C ++ 14 verwenden möchten, können Sie die Konformität nur mit einem statischen Analysetool durchsetzen, das über ein ausgeklügeltes interaktives Berichtssystem verfügt und einen effizienten täglichen Workflow ermöglicht. Stellen Sie sich eine Lösung vor, die den Scanvorgang in die auf Servern aufbauenden Continuous Integration (CI) integriert. Diese Art der Automatisierung spart viel Zeit und Geld.
Wenn Sie vorhandene Codebasen bereinigen, wird außerdem empfohlen, mit der Teilmenge der Regeln aus dem Standard zu beginnen und die Anzahl der aktiven Regeln mit fortschreitender Bereinigung des Codes schrittweise zu erhöhen. Dies verhindert, dass eine große Anzahl von Verstößen oder Lärm das Team überfordert, und ermöglicht es, den Fortschritt Ihrer Codebasis zu überwachen, den Abweichungsprozess zu steuern und fundierte Entscheidungen über die Erweiterung des Regelsatzes zu treffen.
Seit 2017 hat die AUTOSAR-Gruppe zweimal pro Jahr AUTOSAR C ++ 14-Richtlinien veröffentlicht, die mit über 200 Automobilunternehmen zusammenarbeiten, um den Support zusammen mit den Änderungen, die mit neuen C ++ - Sprachupdates einhergehen, aufrechtzuerhalten. AUTOSAR hat 2019 angekündigt, mit MISRA zusammenzuarbeiten, um die beiden C ++ - Regelsätze zusammenzuführen und eine einzige universelle C ++ - Softwareentwicklungsrichtlinie bereitzustellen. Es wird erwartet, dass diese neuen MISRA-geführten Richtlinien mit vollständiger Unterstützung für moderne C ++ - Sprachversionen wie C ++ 17 und C ++ 20 erstellt werden.
Durch die neue Fusion von MISRA und AUTOSAR zur Entwicklung der aktuellsten und besten Codierungsregeln und -richtlinien für C++ erwarte ich eine breite Anwendung in vielen Branchen neben der Automobilindustrie. Dazu gehören beispielsweise die Luft- und Raumfahrt, die Medizintechnik, die Industrie, der Schienenverkehr, die Telekommunikation, die Energiewirtschaft und viele weitere. Softwareentwickler freuen sich darauf, sichere Projekte realisieren zu können, die in C++17 und C++20 entwickelt wurden oder werden sollen.
Ein wichtiger Aspekt der ISO 26262 ist die Empfehlung, einen Konformitätsstandard für Codierung wie AUTOSAR C++14 zu verwenden. Die Konformität lässt sich am besten durch Automatisierung und den Einsatz eines TÜV-zertifizierten Tools wie Parasoft C/C++test erreichen . Dieses Tool unterstützt zudem verschiedene Testtechnologien und -funktionen wie Unit-Tests , strukturelle Codeabdeckung, Anforderungsrückverfolgbarkeit und vieles mehr. Als vollintegrierte Softwaretestlösung für sicherheitskritische Branchen lässt sich Parasoft C/C++test problemlos in Ihre C++-IDE oder CI/CD-Pipeline integrieren und so konfigurieren, dass Fehler frühzeitig erkannt und die Konformität automatisch sichergestellt wird.
Das speziell für die Automobilindustrie entwickelte Parasoft C/C++test Automotive Compliance Pack integriert Regeln für AUTOSAR C++14, MISRA C++2008 und High Integrity (HI) C++, um Automobilentwicklern die Erweiterung ihrer Testfunktionen und die Optimierung der Testprozesse im Entwicklungsteam zu ermöglichen. Entwickler können Parasoft C/C++test zudem nutzen, um die Codekonformität direkt in der IDE zu analysieren und gleichzeitig automatisch Berichte zu erstellen, die die Teams über Statusaktualisierungen informieren.
Als eine der umfassendsten Lösungen zum Testen sicherheitskritischer Anwendungen bietet Parasoft C/C++test eine vereinfachte Lösung für die statische Analyse und bietet gleichzeitig mehr Unterstützung für die von der Automobilindustrie geforderten Codierungsstandards. Mit einer Plattform, die automatisch die Compliance für sicherheitskritische Systeme gewährleistet, können Sie Fehler frühzeitig erkennen und Zeit im Entwicklungsprozess sparen, Updates priorisieren, um wichtige Probleme zuerst zu beheben, und die Compliance automatisieren.
„MISRA“, „MISRA C“ und das Dreieckslogo sind eingetragene Marken von The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Alle Rechte vorbehalten.