Sehen Sie, welche API-Testlösung im GigaOm Radar Report am besten abgeschnitten hat. Holen Sie sich Ihren kostenlosen Analystenbericht >>

Sehen Sie, welche API-Testlösung im GigaOm Radar Report am besten abgeschnitten hat. Holen Sie sich Ihren kostenlosen Analystenbericht >>
C++ ist eine komplizierte Sprache und erfordert einen hohen Investitionsaufwand, um Vorhersagbarkeit und Sicherheit zu gewährleisten. Die Organisation AUTomotive Open System ARchitecture (AUTOSAR) hat AUTOSAR C++14 entwickelt, einen Codierungsstandard, der die Verwendung von C++14 auf die Konstrukte beschränkt, die vorhersehbar sind und nicht zu unnötigen Sicherheitsrisiken führen.
AUTOSAR
Die AUTomotive Open System ARchitecture (AUTOSAR) ist aus einer Entwicklungspartnerschaft zwischen Automobilunternehmen hervorgegangen. Die 2003 gegründete Gruppe strebte danach, eine standardisierte und offene Softwarearchitektur rund um elektronische Steuergeräte (ECUs) für Kraftfahrzeuge zu etablieren. Es deckt auch Halbleiter ab.
Ziel der AUTOSAR-Entwicklungspartnerschaft war es, die Effektivität und Verfügbarkeit von Sicherheitsanforderungen, Skalierbarkeit, Übertragbarkeit und Nachhaltigkeit über den gesamten Produktlebenszyklus hinweg zu verbessern. Obwohl es sich nicht um medizinische Geräte handelt, fallen bestimmte Aspekte der Automobiltechnik sicherlich unter Schutzartikel. Produktlinien-Airbags erfordern eine Technologie, die sie genau auslöst, während Systeme wie die Motorsteuerung Konsistenz erfordern.
Mehr eingebettete Elektronik in Autos bedeutet auch viel Datenerfassung sowie Datenverarbeitung in Echtzeit. Verschiedene Aspekte von AUTOSAR zielen darauf ab, die Anforderungen moderner Automobilelektronik und Softwarekomponenten zu erfüllen.
Es gibt zwei Arten von AUTOSAR-Plattformen: Adaptive und Classic. Die klassische AUTOSAR-Plattform bietet nicht die Art von Flexibilität und Verarbeitungsleistung, die die adaptive Methodik bieten kann. Die wachsende Komplexität der Automobiltechnik erfordert einfachere Reaktionen und schnellere Reaktionen.
Allerdings sind die beiden Plattformen keine Rivalen, sondern Teamkollegen. Beide dienen unterschiedlichen Zwecken im Design- und Entwicklungsökosystem der Automobilindustrie.
AUTOSAR-Classic-Plattform | Adaptive 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). |
Es ist ein Codierungsstandard für C++ Version 14 (ISO/IEC 14882:2014) und ein Artefakt oder eines der Ergebnisse bei der Definition der Adaptive AUTOSAR-Plattform, die Schnittstellenspezifikationen für APIs und Dienste bereitstellt. Dieser Abschnitt der AUTOSAR-Codierungsrichtlinien aktualisierte ursprünglich MISRA C++ 2008 – einen veralteten Codierungsstandard. MISRA und AUTOSAR gaben jedoch 2019 ihre Fusion bekannt, um die Aktualisierung auf C++17 zu unterstützen. C++XNUMX ist zur Standardsprache für viele moderne AUTOSAR-Elektroniklösungen geworden.
Tatsächlich sind diese Richtlinien so robust und optimiert, dass sie auf jede Branche angewendet werden können, die eine eingebettete Programmierung in C++ erfordert.
AUTOSAR C++14 verfügt über 342 Regeln, um dem Benutzer ein klares Verständnis und eine Anleitung zu den Codierungsanforderungen zu vermitteln. AUTOSAR C++14-Codierungsregeln werden nach Verpflichtungsgrad klassifiziert.
Eine Abweichung von einem AUTOSAR-Standard, einer Regel oder einer Richtlinie kann jedoch zugelassen werden. Um das Abweichungskonzept nicht durch willkürlich abweichende Entwickler zu missbrauchen, müssen Freigaben für jede Abweichung beigefügt werden. Darüber hinaus werden die Regeln auch danach klassifiziert, ob sie von statischen Analysewerkzeugen automatisch durchgesetzt werden können.
Die Verwendung von C++14 in Zusammenarbeit mit den AUTOSAR C++14-Richtlinien bietet Entwicklern die Möglichkeit, überlegene Compiler zu verwenden und verbesserten Zugriff auf verbesserte Test-, Verifizierungs- und Analysewerkzeuge. Es erlaubt, neue Entwicklungsmethoden wie zu verwenden kontinuierliche Integration / kontinuierliche Lieferung (CI/CD), wodurch Fehler im Lebenszyklus der Softwareentwicklung früher erkannt werden können.
„MISRA“, „MISRA C“ und das Dreieckslogo sind eingetragene Marken von The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Alle Rechte vorbehalten.
Finden Sie die richtigen Entwicklungswerkzeuge Die Sicherstellung der Softwarequalität ist eine Frage von Versuch und Irrtum. Aber das bedeutet nicht, dass Sie mit unbewährten Tools oder Strategien experimentieren müssen. Glücklicherweise sind die Vorteile der Automatisierung in Bezug auf Tests und Compliance eindeutig.
Probleme früher zu finden, kann die Dinge für alle, die an der Softwareentwicklung beteiligt sind, nur einfacher machen. Von Softwarearchitektur und Anwendungssoftware bis hin zu Diagnose und Validierung haben Parasoft-Lösungen alles im Blick.
Implementieren Sie die AUTOSAR C++14-Konformität, indem Sie sicheren und zuverlässigen Code für dauerhafte Vorteile bereitstellen, die sich auf Ihren Produkterfolg und Ihre Langlebigkeit auswirken und gleichzeitig die Arbeitskosten und die Markteinführungszeit reduzieren.
Verhindern Sie Codefehler früher im Entwicklungsprozess, bevor sie später zu teureren Herausforderungen führen.
Parasoft bietet die statische AUTOSAR C++14-Analyse als Lösung an, die von Prozessstandards wie ISO 26262, DO-178C, IEC 62304, IEC 61508, EN 50128 und mehr empfohlen wird.
Binden Sie AUTOSAR C++14-Sicherheitscodierungsrichtlinien als Teil Ihrer SAST-Strategie direkt in Ihren Softwareentwicklungslebenszyklus ein.
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.
Die statische AUTOSAR C++14-Analyse von Parasoft lässt sich problemlos in Ihre optimierte CI/CD-Pipeline mit kontinuierlichen Tests integrieren, um schnell qualitativ hochwertige und sichere Software bereitzustellen.
Erstellen Sie mit dem Parasoft RuleWizard Ihre eigene benutzerdefinierte Codierungsstandardkonfiguration für Ihr Unternehmen.
Parasoft bietet die Aggregation MISRA mit all unseren anderen unterstützten Codierungsstandards wie CERT, CWE, OWASP, UL 2900 und mehr an.
Stellen Sie die Lösungen von Parasoft bereit, um statische Codeanalysen durchzuführen, unabhängig davon, in welcher Entwicklungsumgebung Sie arbeiten.
Parasoft C/C++test führt statische Analysen durch, indem es sich eng in Ihre C- und C++-Entwicklungsumgebung integriert, erkennt Fehler früher und erzwingt automatisch die Einhaltung von Industriestandards. Ermöglicht die Einhaltung der Standards MISRA C:2012, MISRA C++:2008, AUTOSAR C++14, JSF, HIC++, CERT C/C++, CWE Top 25 und On the Cusp list.
Jtest wurde entwickelt, um im modernen agilen DevOps- und DevSecOps-Framework zu glänzen, und funktioniert in der Java-Entwicklungsumgebung. Stellen Sie diese Testlösung bereit, um Java-Code-Qualitätsprüfer auszuführen und eine Reihe von Standards für funktionale Sicherheit und Sicherheit einzuhalten. Ermöglicht die Einhaltung von Standards: OWASP, CWE Top 25 und On the Cusp sowie PCI DSS.
Durch die Unterstützung der Microsoft-Entwicklungsumgebung stellt dotTEST die Codequalität und die Einhaltung von Industriestandards sicher. Ermöglicht die Einhaltung von Standards: OWASP, CWE Top 25 und On the Cusp sowie PCI DSS.
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.
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.
Jede Abweichung von der AUTOSAR C++14-Richtlinie erfordert eine gründliche Dokumentation zu Folgendem: welche Richtlinie, Geltungsbereich, Begründung, Sicherheitsgarantie, Konsequenzen und Minderung.
Die Einhaltung von AUTOSAR C++14 hilft Ihnen, Code zu schreiben, der einfach zu lesen und leicht zu verstehen ist. Seien Sie nicht zu schlau und schreiben Sie 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.
Die Einhaltung von AUTOSAR C++14 hilft beim Schreiben von Code unter Berücksichtigung der Portabilität, da portabler Code (POSIX, ANSI C usw.) einfach und schnell auf andere Plattformen verschoben werden kann. Die Anpassung anderer Compiler oder anderer Betriebssysteme kann mit minimalen Codeänderungen erfolgen. Oft gibt es finanzielle oder geschäftliche Möglichkeiten, warum eine Migration auf ein anderes Betriebssystem oder Ziel erfolgen muss.
Einige Codekonstrukte können so geschrieben sein, dass sie einen AUTOSAR-C++14-Regelverstoß auslösen. Parasoft bietet eine Möglichkeit, dieses Rauschen wissentlich herauszufiltern.
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.
Die Einhaltung von AUTOSAR C++14 hilft Ihnen, zuverlässigen Code zu schreiben, der nicht nur Szenarien für sonnige, sondern auch für regnerische Tage bewältigt. Inklusive Negativszenarien, die Ihre Bewerbung vorbereiten, wenn sie auf ungültige Daten stößt.
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.
Die Funktionen der offenen und standardmäßigen Softwarearchitektur in vielen modernen elektronischen Softwaresystemen für Kraftfahrzeuge werden heute für autonomes Fahren und Konnektivität verwendet.
Nehmen Sie beispielsweise fortschrittliche Fahrerassistenzsysteme (ADAS) wie LIDAR, mit denen Autos erkennen können, wenn sie Gefahr laufen, mit einem Objekt zusammenzustoßen. Auch der Parkassistent beim automatisierten Fahren setzt stark auf die AUTOSAR-Softwarearchitektur.
Dies sind nur zwei Anwendungsfälle, aber da die Konnektivität der adaptiven AUTOSAR-Plattform und Geräte für das Internet der Dinge (IoT) in Fahrzeugen immer häufiger und robuster werden, ist die Fähigkeit, Daten zur Anpassung zu messen, von entscheidender Bedeutung.
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.
Das Tolle an der vorgeschlagenen AUTOSAR C++14-Konformität ist, dass sie in jeder Softwareentwicklungsphase eines Projekts eingeführt und verwendet werden kann. Noch besser ist, dass es auch dann effektiv ist, wenn ein Projekt oder Ihre Steuergeräte-Software unvollständig und teilweise codiert ist.
Die größte Herausforderung mit Einführung der AUTOSAR C++14-Konformität ist, dass eine große Menge Code eine große Anzahl von Warnungen erzeugen kann. Daher sollte der Schwerpunkt bei der Integration der AUTOSAR C++14-Konformität in ein Projekt darauf liegen, das Team so schnell wie möglich produktiv zu machen. Dadurch wird die Möglichkeit minimiert, dass das Team von Warnungen der statischen Analyse überwältigt wird.
Da das Erreichen der AUTOSAR C++14-Konformität Teil der täglichen Routine jedes Entwicklers wird, können sie Ergebnisse schneller analysieren und Fehler effizienter beheben.
Auch die Reife des in der Entwicklung befindlichen Produkts spielt eine Rolle, da sie sich auf die Art und Weise auswirkt, wie die AUTOSAR C++14-Konformität integriert werden kann. Das Adoption Lifecycle Management funktioniert wie unten beschrieben.
Das Parasoft-Codeanalyse-AUTOSAR-Lösung, Parasoft C/C++test, erkennt komplexe AUTOSAR-C++14-Compliance-Laufzeitprobleme in einer AUTOSAR-Laufzeitumgebung früh in der Entwicklungsphase – ohne dass kostspielige Laufzeittests durchgeführt werden müssen. Dadurch werden Entwicklungsprozesse so verschlankt, dass alle davon profitieren.
C/C++test analysiert die Ausführungspfade durch den Code und findet AUTOSAR C++14-Compliance-Probleme wie Nullzeiger-Dereferenzierung, Division durch Null und Speicherlecks. Es sucht auch nach Sicherheitslücken wie Arithmetik bei einem Zeigeroperanden, Pufferüberläufen, nicht erreichbarem Code und cstdlib-Systemfunktionen
Ergebnisse von AUTOSAR C++14-Konformität von C/C++test Die Ergebnisse können im dynamischen Berichts-Dashboard von Parasoft angezeigt werden, wodurch eine automatisierte Nachbearbeitung und erweiterte Berichtsstrategien unter Verwendung historischer Daten ermöglicht werden.
Es ist einfach, die AUTOSAR C++14-Compliance-Ergebnisse für alle Builds im Laufe der Zeit zu sehen. Dies gilt selbst bei der Arbeit mit großen Codebasen und Legacy-Code, bei dem die Einsicht in den Code normalerweise schwierig ist. Sie können sich schnell auf die Qualität des neu hinzugefügten Codes konzentrieren.
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.
Verbessern Sie Ihre Softwaretests mit Parasoft-Lösungen.