Software-Continuity
Wie zuverlässig ist “Autobahn-Code”?

IT-ManagementIT-ProjekteMobileNetzwerk-ManagementNetzwerkeSicherheitSicherheitsmanagementSoftware

Das moderne Durchschnittsauto benötigt heutzutage zum Funktionieren Millionen von Zeilen Programmcode und Dutzende von Chips – was bedeutet, dass Software-Ausfälle im Automobil eine wachsende Wahrscheinlichkeit werden, schreibt Les Hatton.

Software-Continuity

Das moderne Durchschnittsauto benötigt heutzutage zum Funktionieren Millionen von Zeilen Programmcode und Dutzende von Chips – was bedeutet, dass Software-Ausfälle im Automobil eine wachsende Wahrscheinlichkeit werden, schreibt Les Hatton.

Ich frage mich, wie viele von Ihnen wissen, wie viel Software heutzutage in einem ganz gewöhnlichen Auto steckt? Ich würde wetten, dass Sie um mindestens den Faktor 10 danebenliegen.

Ich habe etwa 1996 angefangen, für die Automobilindustrie zu arbeiten, als etwa 50.000 Zeilen Assembler-Code in dem elektronischen Steuerungssystem eines Wagens steckten. Damals waren Systeme im Bereich von zwei bis drei Millionen Zeilen Code (üblicherweise C, C++ oder Ada) etwas Ungewöhnliches und tauchten im Allgemeinen bei traditionellen High-Tech-Industrien wie Verteidigung und Luftfahrt auf und in Produkten wie der Boeing 777 oder dem Airbus 340. Diese Industrien hatten gut 25 Jahre gebraucht, um so viel Code zu erreichen. Die Automobilindustrie hat es in etwa einem Drittel der Zeit geschafft

“Moderne Autos kommen bei Code-Zeilen auf siebenstellige Zahlen”

Moderne Autos kommen bei Code-Zeilen auf siebenstellige Zahlen, verteilt auf bis zu 100 Mikroprozessoren. Systeme dieser Größe haben immer ein großes Problem dargestellt für Hersteller, die die Zahl von Defekten auf einem akzeptablen Niveau halten wollen. Die Schwierigkeiten werden einfach viel größer, wenn Code zu schnell auf diese Größe anwächst.

Stellen wir ein paar Kalkulationen über den Daumen an. Misst man ein System nach der Zahl der Zeilen von Quellcode, der direkt ausführbaren Code generiert – dabei ist es egal, welche der Hunderte von Programmiersprachen benutzt wird -, dann wird ein wirklich gutes System weniger als einen Defekt (einen Fehler, der zum Ausfall führt) pro 1.000 Zeilen in seinem gesamten Lebenszyklus haben. Ungefähr 10 Prozent dieser Defekte werden Vollbremsungen sein. Es ist wirklich schwer, so niedrig zu bleiben, und bei zwei Millionen Zeilen in einem Auto gibt es etwa 200 ernsthafte Defekte, die nur darauf warten, einen Ausfall zu produzieren.

Das gilt natürlich nur, wenn wirklich gute Arbeit geleistet wurde. Ich musste daran denken, als ich in den letzten paar Monaten eine Reihe von Meldungen las, dass die Automobilindustrie Rückrufaktionen wegen verschiedener Software-Defekte durchführte.

“Bedenkt man, dass man in einem Auto mit Airbag einen halben Meter entfernt sitzt von einer software-gesteuerten Bombe, kommt man sicher ins Grübeln.”

Wo kommt die ganze Software hin? Nun, eigentlich überall hin – Airbags, Bremsen, Motorsteuerung, Klimaanlage, Musiksystem, Sitze, Navigation und so weiter. Bedenkt man, dass man in einem Auto mit Airbag einen halben Meter entfernt sitzt von einer software-gesteuerten Bombe, kommt man sicher ins Grübeln.

Natürlich sollten uns diese Probleme nicht überraschen, und tatsächlich hat die Automobilindustrie bisher gute Arbeit geleistet. Meine digitale TV-Set-Top-Box, ein ärgerliches Stück Müll, steht kurz vor einem ungebremsten Flug auf die Straße. Mein Anrufbeantworter ist in den letzten vier Tagen dreimal abgestürzt und hat dabei ein Besetzt-Zeichen von sich gegeben – das passiert durchschnittlich alle drei Tage, seit ich ihn gekauft habe. Um ihn neu zu starten, muss man ihn ausstöpseln, warten, bis sich das CMOS von der Aufregung erholt hat und ihn dann wieder einstöpseln. Natürlich muss man Datum und Zeit neu eingeben. Unser dritter Thermostat für die Zentralheizung ist noch gestörter als seine drei Vorgänger. Wenn Sie ähnliche Geschichten kennen, höre ich sie mir gerne an.

Komm zurück, Analog, alles ist vergeben!