DieselGate – Wie konnte es dazu kommen?

Die VW-Abgasaffäre wirft viele Fragen auf. Wie konnte es soweit kommen? Wieso ist dieser Betrug nicht eher aufgefallen? Wer hat dazu beigetragen?

Undurchsichtige Software

Natürlich wissen wir die Antworten auf diese Fragen nicht umfassend. Aber wenn man sich einmal damit auseinandersetzt, wie Softwareenwicklung für Steuergeräte und Software im Automobil heute abläuft, lassen sich durchaus Mutmaßungen anstellen. An der Entwicklung einer Motorsteuerung sind viele Ingenieure und Softwareentwickler, Tester und weitere Verantwortliche beteiligt. Damit ist bereits klar, dass es nicht einem Einzelnen gelingen kann, einen solchen Betrug durchzuführen. In allen elektronischen Systemen eines Autos steckt immerhin Software mit einem Gesamtumfang von bis zu knapp 100 Millionen Programmzeilen. Damit wird aber auch ein anderes Phänomen klar: Die gesamte Software ist so komplex, dass es ungeheuer schwierig ist, sie in Ihrer Gesamtheit vollständig zu durchblicken. 

Wussten die Programmierer Bescheid?

Diese Intransparenz macht es durchaus wahrscheinlich und möglich, dass sich die Entwickler der Software gar nicht über ihren späteren Einsatzzweck und ihre tatsächliche Verwendung im Klaren waren. Möglicherweise hatten sie lediglich einen Programmierauftrag, ohne dass die exakte Verwendung von erkennbar war. Erst bei der späteren Integration der Software wurde sie ihrem eigentlichen Verwendungszweck zugeführt. Automobil-Software für Motorsteuerungen wird heute in der Regel in der Programmiersprache "C" erstellt. Werden keine weiteren Hilfsmittel verwendet, um auf einem besser abstrahierten Level die Software zu beschreiben, müsste man sich durch viele Tausend Zeilen Programmcode in "C" quälen, um den Betrug aufzudecken.

Modellbasierte Entwicklung vs. Intransparenz

Software lässt sich heute auch modellbasiert entwickeln, zum Beispiel mit der Hilfe von Zustandsautomaten (engl. Statecharts). Die Abbildung zeigt, wie eine betrügerische Software modelliert mit Hilfe von Zustandsautomaten aussehen könnte. Die Erkennung basiert dabei auf den Mechanismen, die mein Kollege Andreas Graf in seinem Beitrag Wie erkennt ein Auto einen Abgastest beschrieben hat.

Car-Control-dieselgate-vw-abgas-affäre

Natürlich ist die gewählte Darstellung plakativ, aber eins steht fest: Je größer der Anteil an Software ist, die zu 100% aus Modellen generiert und validiert wird, umso schwieriger wird es, Intransparenz für Betrug auszunutzen. Ganz nebenbei sind wir überzeugt, dass der einzig langfristig erfolgreiche Weg nicht in Betrug am Kunden sondern in Qualität und Innovation besteht. Und dazu gehören auch innovative Methoden und Werkzeuge für die Software im Automobil.

Wer sich für Statecharts interessiert, findet in unserem Guide weiterführende Informationen.Statecharts TutorialYAKINDU Statechart Tools sind Open Source und helfen bei der Modellierung, Validierung, Simulation und Code Generierung von Zustandsautomaten.

Noch Fragen? Wir freuen uns über Kommentare oder eine direkte Kontaktaufnahme.  

Über den Autor

Andreas Mülder works as a software engineer at itemis AG in Lünen, Germany. He is especially interested in Eclipse modeling technologies and co project lead of the open source project YAKINDU Statechart tools. For more information, visit http://www.statecharts.org