Entdecken Sie das TÜV-zertifizierte GoogleTest mit Agentic AI für C/C++-Tests!
Details ansehen »
Parasoft-Blog
Fortschrittliche Fahrerassistenzsysteme (ADAS) sind eine Schlüsselkomponente in modernen softwaredefinierten Fahrzeugen (SDVs). Die Einhaltung von Sicherheitsstandards ist keine leichte Aufgabe. Lesen Sie weiter, um mehr über die wesentliche Rolle der statischen Codeanalyse für die ADAS-Sicherheit zu erfahren.
Zum Abschnitt springen
Jüngste Unfälle mit Fahrzeugen, die über automatisierte Fahrsysteme (ADS) und Fahrerassistenzsysteme (ADAS) verfügen, haben zu verstärkter behördlicher Kontrolle geführt. Zwischen Juni 2021 und Juni 2024 wurden fast 4,000 Vorfälle mit diesen Systemen gemeldet .
Zum Kontext: In autonomen Fahrzeugen sind Millionen von Codezeilen für die Entscheidungsfindung in Echtzeit zuständig. Selbst der kleinste Defekt kann im Straßenverkehr schwerwiegende Folgen haben.
Diese Komplexität, verbunden mit immer strengeren Sicherheitsstandards wie ISO 26262, ISO 21448, MISRA und der UNECE-Regelung Nr. 157, erfordert einen proaktiven Ansatz zur Sicherstellung der Softwarequalität. Statische Codeanalyse in Kombination mit automatisierten Testverfahren sind dabei entscheidende Bestandteile.
In diesem Artikel untersuchen wir, wie die statische Codeanalyse und die Automatisierung von CI/CD während des gesamten Entwicklungszyklus die Sicherheit softwarekritischer Fahrzeuge verbessern können.
ADAS ist eine wichtige softwaregesteuerte Funktion in SDVs. Es nutzt fortschrittliche Software, um wichtige Fahrassistenzfunktionen bereitzustellen, darunter Kollisionsvermeidung, adaptive Geschwindigkeitsregelung und automatisches Parken.
Um die Systemleistung zu verbessern, eine reibungslose Kommunikation zwischen den Komponenten zu ermöglichen und eine Echtzeitkoordination zwischen verschiedenen Subsystemen wie Bremsen, Lenkung, Drosselklappensteuerung und anderen kritischen Funktionen sicherzustellen, basiert ADAS auf zentralisierten elektronischen Architekturen.
Diese Architekturen nutzen zentrale Recheneinheiten mit hoher Leistung zur Verarbeitung von Sensordaten, zur Durchführung einer Sensorfusion und zur Ausführung erweiterter Entscheidungsprozesse, um die Fahrzeugsicherheit und -automatisierung zu verbessern.
Um erweiterte Funktionen auf SDVs bereitzustellen, verfügt ADAS über die folgenden Funktionalitäten.
ADAS verwendet Radar, LiDAR und Kameras, um potenzielle Kollisionen zu erkennen. Das System kann den Fahrer warnen oder autonom eine Notbremsung durchführen, um die Wahrscheinlichkeit von Auffahrunfällen zu verringern.
Die adaptive Geschwindigkeitsregelung und der Spurhalteassistent überwachen kontinuierlich die Verkehrsbedingungen und passen Geschwindigkeit und Lenkung an, um sichere Abstände einzuhalten und die Fahrzeuge in der Mitte ihrer Spur zu halten. Diese Systeme nehmen Anpassungen in Echtzeit vor, um eine bessere Kontrolle in dynamischen Verkehrssituationen zu gewährleisten.
Durch Sensorfusion und Computervision können ADAS Hindernisse, Verkehrsschilder, Fahrbahnmarkierungen und Fußgänger erkennen und so die Sicherheit bei schlechten Sichtverhältnissen und bei Nachtfahrten erhöhen.
KommunikationDurch V2X-Kommunikation können Fahrzeuge mit der Infrastruktur in der Nähe, mit Fußgängern und anderen Fahrzeugen interagieren. Dies verbessert die Situationswahrnehmung und hilft, Unfälle zu verhindern, bevor sie passieren.
ADAS integriert hochauflösende Karten und GPS, um Echtzeitnavigation, spurgenaue Führung und Routenoptimierung zu ermöglichen und so effizienteres und sichereres Reisen zu gewährleisten.
Wie jedes sicherheitskritische Softwaresystem ist auch die Entwicklung fortschrittlicher Fahrerassistenzsysteme eine komplexe Aufgabe. Die Anwendungsfälle müssen größtenteils sicherheitskritische Fragen beantworten wie:
Damit ein ADAS-System auf den Markt kommen kann, muss es in unvorhersehbaren Fahrsituationen, in denen selbst kleine Fehler katastrophale Folgen haben können, einwandfrei funktionieren.
Eine der größten Herausforderungen für Entwickler besteht daher darin, die funktionale Sicherheit zu gewährleisten, wie sie in Normen wie ISO 26262 beschrieben wird.
Dieser Standard definiert Sicherheitsmaßnahmen für elektronische Systeme in Fahrzeugen und erfordert strenge Prozesse zur Minderung von Risiken durch Hardware- oder Softwarefehler. Beispielsweise schreibt er vor, potenziellen Gefahren Automotive Safety Integrity Levels (ASILs) zuzuweisen und fehlertolerante Designs zu implementieren, um diese Sicherheitsziele zu erreichen.
Die Gewährleistung der Echtzeitleistung ist eine weitere Hürde, die Entwickler bewältigen müssen. ADAS-Systeme verarbeiten riesige Mengen an Sensordaten, etwa von Kameras, LiDAR, Ultraschallsensoren, Infrarotsensoren, GNSS-Empfängern und IMUs, um sekundenschnelle Entscheidungen zu treffen. Standards wie ISO 21448 (Sicherheit der beabsichtigten Funktionalität) gehen dieses Problem an, indem sie sich auf die Minimierung von Risiken durch Systembeschränkungen in komplexen Umgebungen konzentrieren.
Die Einhaltung sich entwickelnder Vorschriften erhöht die Komplexität zusätzlich. Die UNECE-Verordnung Nr. 157 beispielsweise regelt automatische Spurhaltesysteme (ALKS) und erfordert strenge Tests unter bestimmten Bedingungen. Ebenso gewährleistet ISO/SAE 21434 Schutz vor Cybersicherheit gegen potenzielle Angriffe auf Fahrzeugsysteme.
Um diese Herausforderungen zu bewältigen, greifen Unternehmen auf automatisierte Testplattformen wie Parasoft zurück, die den Entwicklungsteams helfen, Fehler aufzuspüren, bevor Codes in eine Produktionsumgebung übertragen werden.
Die automatisierten Testlösungen von Parasoft sind auf die Einhaltung von Automobilstandards wie ISO 26262 , ISO 21434 , AUTOSAR C++14 und MISRA zugeschnitten.
Mit Parasoft C/C++test können Teams beispielsweise statische und dynamische Analysen durchführen , um Fehler und Schwachstellen frühzeitig im Entwicklungslebenszyklus zu erkennen und die Einhaltung von Vorschriften durch anpassbare Dashboards und detaillierte Berichte sicherzustellen.
Dieser Ansatz beschleunigt nicht nur die Markteinführungszeit, sondern gewährleistet auch die Bereitstellung sicherer, zuverlässiger und konformer ADAS-Software.
Die statische Codeanalyse spielt eine entscheidende Rolle bei der Gewährleistung der Softwarezuverlässigkeit, indem sie Fehler, Schwachstellen und Konformitätsprobleme erkennt, bevor der Code ausgeführt wird.
Im Gegensatz zu dynamischen Tests, bei denen die Software ausgeführt werden muss, wird bei der statischen Analyse der Code im Ruhezustand geprüft, sodass Fehler bereits in der frühen Entwicklungsphase erkannt werden. So lassen sich potenzielle Fehler erkennen, bevor sie zu kostspieligen Problemen werden. Darüber hinaus verbessert sich die Codequalität, Wartbarkeit und Sicherheit, was die statische Analyse zu einem unverzichtbaren Tool für ADAS-Entwickler macht.
ADAS-Software basiert auf komplexen Algorithmen, die Sensordaten in Echtzeit verarbeiten. Die Kontrollflussanalyse stellt sicher, dass die Ausführungspfade wie erwartet funktionieren, während die Datenflussanalyse die Veränderungen von Variablen im Programmverlauf verfolgt. Diese Techniken helfen, Race Conditions, Speicherlecks und unbeabsichtigtes Verhalten aufzudecken – Probleme, die sonst unbemerkt bleiben könnten, bis es zu einem realen Ausfall kommt.
ISO 26262 und Codierungsstandards für Automobilsoftware (MISRA) legen strenge Anforderungen für die ADAS-Entwicklung fest. Die Durchführung einer statischen Analyse automatisiert die Einhaltung von Codierungsstandards und reduziert so das Risiko von im Feld festgestellten Problemen und den Bedarf an kostspieligen Nacharbeiten.
Künstliche Intelligenz verändert die Arbeitsabläufe in der Entwicklung eingebetteter Software, und KI-gestützte Fähigkeiten breiten sich im gesamten Ökosystem der Softwarequalität aus.
Moderne Lösungen zur statischen Analyse kombinieren fortschrittliche Technologien zur statischen Analyse, regelbasierte Verifikation, Kontrollflussanalyse, Datenflussanalyse und KI-gestützte Arbeitsabläufe, um Softwarequalität, Sicherheit und Compliance zu verbessern. Parasoft C/C++test identifiziert automatisch Schwachstellen, Verstöße gegen Programmierrichtlinien, Fehler und Wartbarkeitsprobleme in eingebetteten C- und C++-Anwendungen.
MCP-fähige agentenbasierte KI-Workflows integrieren sich in Entwicklungsumgebungen und CI/CD-Pipelines, um die Fehlerbehebung zu unterstützen. Durch konfigurierbare KI-Fähigkeiten können KI-Agenten:
Ingenieurteams profitieren von:
Zur Unterstützung kontinuierlicher Verifizierungsstrategien integrieren sich die Lösungen von Parasoft in CI/CD-Pipelines und eingebettete Entwicklungsökosysteme, um automatisierte Analysen, die Durchsetzung von Richtlinien, Compliance-Berichte und KI-gestützte Fehlerbehebung während des gesamten Softwareentwicklungszyklus zu ermöglichen.
Die Entwicklung sicherer und zuverlässiger ADAS erfordert mehr als nur Innovation. Sie verlangt strenge Tests, Echtzeit-Leistungsvalidierung und strikte Einhaltung gesetzlicher Vorschriften.
Angesichts steigender Sicherheitsbedenken und zunehmender Rückrufaktionen müssen Automobilhersteller über die reine Normenerfüllung hinausgehen, um die einwandfreie Funktion ihrer Systeme im Straßenverkehr zu gewährleisten. Die automatisierten Testlösungen von Parasoft, darunter KI-gestützte statische Analysen, simulationsbasierte Validierung und kontinuierliche Konformitätsprüfung, spielen eine entscheidende Rolle dabei, die Lücke zwischen Entwicklung und realer Sicherheit zu schließen.
So beschleunigen Sie die ISO/SAE 21434-Konformität mit automatisierten Softwaretests