Wie die statische Codeanalyse hilft, Software-Herausforderungen zu bewältigen

Cybersecurity auto

Innerhalb der nächsten 10 Jahre wird der Markt für Software- und Elektronik in der Automobilbranche voraussichtlich schneller wachsen als der Automobilmarkt selbst. Automobilunternehmen müssen ihre Prozesse und Verfahren anpassen, um mit diesem prognostizierten Wachstum Schritt halten und den führenden Softwareentwicklern in der Branche Konkurrenz bieten zu können.

Ein Bericht von McKinsey and Company zeigt, dass Innovation der Schlüssel ist, um wettbewerbsfähig zu bleiben. Dies heißt auch, dass vor allem Softwareprobleme vermieden werden müssen, die zu Rückrufaktionen oder Cyberangriffen führen können.

Anzeige

Dieser Artikel untersucht die Herausforderungen für Software im Automobilsektor und beschreibt, wie eine neue Technologie, die umfassende statische Code-Analyse, Unternehmen bei der Anpassung an zukünftige Veränderungen helfen kann und Sicherheit und Zuverlässigkeit von Software garantiert. 

auto1

Software als Motor in der Automobilindustrie

Die Komplexität von Software hat in den letzten zehn Jahren um den Faktor 4,0 zugenommen, die Produktivität dagegen nur um den Faktor 1,0 bis 1,5.

Ein durchschnittliches Auto enthält 100 Millionen Codezeilen, die auf hunderte Mikrocontroller (MCUs) verteilt sind. Die Komplexität nimmt allerdings zu, da man in der Industrie immer mehr zur Zentralisierung von Steuergeräten und MCUs übergeht, um mit neuen Technologien und Konnektivität Schritt zu halten. Dies setzt die Akteure der Branche unter Druck, ihre Softwareentwicklung produktiver zu gestalten. Nicht richtig gehandhabt, wird die wachsende Softwarekomplexität zu einem Hindernis für die Produktivität.

Immer mehr komplexe Software in Verbindung mit der Nachfrage nach kontinuierlichen Funktionsaktualisierungen zwingt die OEMs dazu, Programmierfehler schnell zu finden und zu beheben. Andernfalls führen nicht behobene Fehler zu einer Überlastung der Ressourcen und erschweren die Fehlersuche, was die Verifizierungskosten erhöht und Verzögerungen verursacht.

Die drei Hauptherausforderungen

1. Autonomes Fahren

Autonomes Fahren, das vor allem auf Software basiert, und seine Verbreitung sind ein Grund für den Anstieg der Komplexität. Hier werden immer mehr Software und Sensoren eingesetzt, die fortgeschrittene Softwarefunktionen erfordern. Ein Großteil dieser Funktionen ist sicherheitskritisch. Software wird in Zukunft verstärkt überprüft werden, um die Einhaltung von Vorschriften wie ISO 26262 zu gewährleisten. Dies wiederum erfordert eine effiziente Fehlererkennung und -behebung sowie die Überprüfung der Einhaltung bestimmter Vorschriften. 

2. Konnektivität

Infotainment und andere vernetzte Dienste, einschließlich der Möglichkeit, Softwarekomponenten in Fahrzeugen zu aktualisieren, werden die Nachfrage nach mehr Cybersecurity erhöhen. Daher muss dieser Code frei von Schwachstellen sein. So wird verhindert, dass Hacker auf kritische Funktionen zugreifen und OEMs oder Zulieferer kostspieligen Rückrufaktionen, Haftungsansprüchen und Rufschädigung ausgesetzt werden. Genau wie bei sicherheitskritischer Software müssen die Entwickler von Konnektivitätssoftware mit Tools arbeiten, die garantieren können, dass ihre Software Cyberangriffen standhält und vorschriftenkonform ist.

3. Mehr Verifizierung und Validierung

Es ist damit zu rechnen, dass die Verifizierung und Validierung von Software in der Automobilindustrie erheblich an Bedeutung gewinnen werden, da sicherheitskritische Software und die in den Fahrzeugen eingesetzten Betriebssysteme überprüft werden müssen. 

„Akteure der Automobilindustrie müssen gezielt in Lösungen investieren, die ihre Software effizient testen und validieren können“, erklärt McKinsey. „Das heißt, sie benötigen spezialisiertere Tools und müssen effizient mit den Hardware-Teams zusammenarbeiten.“ 

Zusätzlich zu den bereits erwähnten Sicherheitsgarantien werden die Automobilhersteller und -zulieferer Tools einführen müssen, die moderne Methoden wie kontinuierliche Integration und schnelles Debugging unterstützen.

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.

Eine strategische Lösung: die umfassende statische Analyse

Umfassende statische Analysewerkzeuge könnten ein wichtiger, strategischer Bestandteil der nächsten Software-Toolchain-Lösung im Automobilsektor sein. Es handelt sich um ein Verfahren, das formale Methoden einsetzt, um die operative Effizienz von Entwicklungs- und Validierungsprozessen zu steigern. Ursprünglich entwickelt, um das Verhalten sicherheitskritischer Systeme zu garantieren, gewährleistet diese Analyse heute auch die Softwaresicherheit.

Die umfassende statische Analyse revolutioniert bestehende Test-Toolchains und kann Unternehmen der Automobilindustrie helfen: 

  • die Herausforderungen der Verifizierung und Validierung zunehmend komplexer Software zu meistern
  • auf automatisierte Tests und CI-Praktiken umzustellen
  • mehr Fehler zu identifizieren als mit ihren derzeitigen Prozessen
  • Spezifikationen zu entsprechen und 100 % fehlerfreie Software zu garantieren
  • den Nachweis für die Zertifizierung nach ISO 26262 und ISO 21434 zu erbringen

Die Vorteile der umfassenden statischen Analyse

Mit der umfassenden statischen Analyse kann sichergestellt werden, dass keine Codierungsfehler – wie z. B. Pufferüberläufe – vorhanden sind, die von Hackern ausgenutzt werden können. Viele Fehler, die von herkömmlichen Tools nicht erkannt werden, lassen sich damit vermeiden.

Mit dieser Analyse können Unternehmen ihren Kunden und Aufsichtsbehörden gegenüber garantieren, dass ihre Anwendungen keine Programmierfehler aufweisen und deren Anforderungen entsprechen. Diese Garantien sind bei sicherheitskritischen Anwendungen unerlässlich.

Darüber hinaus wird der normale Softwareentwicklungsprozess bei der statischen Analyse nicht gestört. Die Auswahl der formalen Methoden ist für den Entwickler transparent. Aus der Sicht des Anwenders testet er einfach seinen Code wie gewohnt.

Durch das Hinzufügen einiger Codezeilen zu dem Testskript können Anwender einen begrenzten Satz von Testfällen zu einem vollständigen Satz erweitern, der den gesamten Bereich der möglichen Eingabewerte abdeckt.

Der TrustInSoft Analyzer für C/C++ ist beispielsweise so konzipiert, dass er die Bedeutung des Codes extrahiert, unabhängig davon, wie der Entwickler in C/C++ programmiert. Es werden außerdem mehrere abstrakte Speichermodelle zur Analyse der zu validierenden Software geboten.

TrustInSoft Analyzer wurde in einem Bericht des National Institute of Standards and Technology an das Weiße Haus aufgeführt, da er formal garantieren kann, dass keine Bugs in einem System vorhanden sind. Zudem kann der Analyzer nachweisen, dass sich ein System gemäß seiner Spezifikation verhält.

auto3

ISO 26262 und ISO 21434

ISO 26262 ist eine Sicherheitsnorm, die in der Automobilbranche verwendet wird. Da der Anteil der Software, die einen direkten Einfluss auf die Sicherheit der Fahrzeuginsassen hat, voraussichtlich erheblich zunehmen wird, ist es wichtig, dass die in Fahrzeugen eingesetzte Software der ISO 26262 entspricht und, dass die Automobilfirmen einen garantierten Nachweis dafür erbringen können. Die umfassende statische Analyse kann diesen Nachweis erbringen. 

Die im August 2021 veröffentlichte ISO 21434 ist eine neue Norm, die sich mit dem Cybersecurity-Risiko der elektronischen Systeme von Fahrzeugen befasst. Um die ISO 21434 zu erfüllen, müssen die Entwickler von vernetzten Fahrzeugen nachweisen, dass ihr Fahrzeug unter dem Aspekt der Cybersicherheit entwickelt wurde.

Fazit und Aussicht

In den nächsten zehn Jahren wird Software die Automobilindustrie revolutionieren. Automobilhersteller und -zulieferer müssen neue Entwicklungstools und -methoden einführen, um ihre Produktivität zu steigern. Die zunehmende Abhängigkeit von Software erfordert die Abkehr von traditionellen Software-Testmethoden und die Einführung automatisierter Verifizierungstools, die Sicherheit und Zuverlässigkeit garantieren können.

Die umfassende statische Analyse kann garantieren, dass Software zu 100 % frei von Codierungsfehlern ist, sich exakt wie vorgegeben verhält und Cyberangriffen standhält. Sie kann den Akteuren der Automobilindustrie helfen, ihre Effizienz zu steigern und die Einhaltung von ISO 26262 und ISO 21434 zu gewährleisten. Sie ist die Zukunft der Softwareentwicklungs-Toolchains in der Automobilindustrie.

www.open2europe.com

Anzeige

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.