Software Der Geist in der Maschine: Warum Software sich falsch verhält

Ein Gastbeitrag von Kfir Ben Shimon, Chief Architect bei AuroraLabs 4 min Lesedauer

Anbieter zum Thema

Roboter, Fahrzeuge und andere programmierte Maschinen können ein geradezu „geisterhaftes“ Verhalten entwickeln. Unser Autor kennt die Gründe.

Noch können autonome Fahrzeuge keinen eigenen Willen entwickeln. Dennoch verhält sich die Software manchmal unerwartet. (Bild:  AuroralLabs)
Noch können autonome Fahrzeuge keinen eigenen Willen entwickeln. Dennoch verhält sich die Software manchmal unerwartet.
(Bild: AuroralLabs)

In dem Film I Robot, der auf dem gleichnamigen Buch von Isaac Asimov basiert, prägt Dr. Lanning den Begriff „Ghosts in the Machine“ (Geister in der Maschine) und erklärt, warum Roboter ungewollte Dinge tun und nicht das, wofür sie programmiert wurden. In der Tat gibt es in der Softwareentwicklung jeden Tag neue Herausforderungen, da die Technologie immer komplexer wird. Unternehmen werden mit Abweichungen konfrontiert, wodurch sich Software gelegentlich anders verhält als erwartet.

Noch können autonome Fahrzeuge keinen eigenen Willen entwickeln, aber es stimmt, dass Computer, Roboter, Fahrzeuge und andere programmierte Maschinen solches „geisterhaftes“ Verhalten entwickeln können. Zu verstehen, warum diese Störungen auftreten, ist ein wichtiger Schritt, um deren Häufigkeit zu verringern und sie zu bewältigen.

Nicht getestete Kombinationen von Events

Das Testen eines neuen Fahrzeugs ist eine sehr komplexe Aufgabe. Ein Fahrzeugmodell kann je nach Funktionsumfang, Bestimmungsland und anderen Parametern große Unterschiede aufweisen. Daraus ergeben sich eine Vielzahl Fahrzeugsoftwareversionen für ein und dasselbe Modelljahr. Diese unterschiedlichen Versionen zu testen ist ein hochkomplexer und aufwendiger Prozess. Es ist schwer, alle möglichen Events vorherzusagen, denn unzählige Variablen könnten eine Software zu jedem Zeitpunkt beeinflussen.

Der Einsatz von KI im Testprozess ist eine mögliche Lösung, um allen Event-Kombinationen zu finden. Menschen erkennen womöglich nicht alle Szenarien. Die KI kann neue Szenarien auf der Grundlage der erwarteten Code-Interaktionen erstellen. Dies hilft den Entwicklern, neue Randfälle zu finden, auf die sie bei einem manuellen Testprozess möglicherweise nicht gestoßen wären.

Buchtipp

Das Fachbuch „Künstliche Intelligenz“ bietet eine fundierte Einführung in die Grundlagen der Künstlichen Intelligenz und der neuronalen Netze. Anhand von Beispielen aus der Unternehmenspraxis werden mögliche Einsatzgebiete aufgezeigt und Wege dargelegt, wie Unternehmen die Potenziale von KI erkennen und strategisch umsetzen können.

Mehr erfahren bei Vogel Fachbuch

Tests spiegeln nicht immer das wirkliche Leben wider

Neben einer nicht getesteten Kombination von Ereignissen besteht auch die Möglichkeit, dass eine Testsuite eine reale Situation nicht abdeckt. Die Tests können ein sehr spezifisches und enges Band von Szenarien abdecken, die in Labortests vorhergesagt und kontrolliert werden können. Allerdings ist das Leben auf der Straße oft unvorhersehbar. Vor allem, wenn man die Wetterbedingungen, die Art der Straße, die Anzahl der Fahrgäste usw. berücksichtigt.

Tests im laufenden Betreib sind daher unerlässlich. Die KI-Technologie kann diese unterstützen, während das Fahrzeug im Einsatz ist.

Störungen sind oft falsch geschriebene Software

Was in der Welt als Computerpanne oder Softwarefehler bezeichnet wird, ist oft eine falsch geschriebene Software. Fahrzeuge werden immer mehr zu Computern (ECUs) auf Rädern. Ein Fehler in der Automobil Software kann zu unvorhergesehenem Verhalten führen, das eine Softwareaktualisierung oder einen Rückruf erforderlich machen kann.

Das wirkliche Leben hält Überraschungen bereit.

Es wird deutlich, dass das wirkliche Leben Überraschungen bereithalten kann, die sich manuell im Labor einfach nicht nachbilden lassen. Fehler passieren, und deshalb ist es wichtig, dass die Automobilhersteller mehr Test- und Fehlerbehebungsmöglichkeiten einführen. Dabei spielen auch Daten eine Rolle, und es ist von entscheidender Bedeutung, während des gesamten Software-Lebenszyklus - von der Entwicklung bis zur Wartung - so viele Informationen wie möglich zu erhalten.

Fehlerhafte Daten

Ein defekter Flash-Speicher, eine Fehlfunktion des Sensors oder ein Bitfehler in einer Nachricht im Netzwerk können ungeahnte Folgen nach sich ziehen. Um das Problem der Fehlinformationen zu lösen, können zum Beispiel Code-Korrekturalgorithmen, CRC-Datenvalidierungsalgorithmen oder ECC-Flash-Integritätsprüfungen durchgeführt werden. Auch wenn der Code korrekt geschrieben und erfolgreich getestet wurde, kann ein Fehler auftreten, wenn ein Fehler durch eine ungewohnte Kombination von Informationen entsteht, die möglicherweise während einem Testprozess nicht in Betracht gezogen worden sind.

Probleme beim Datenempfang

Ein Problem mit dem Datenempfang kann zu Verzögerungen in einem System führen, was wiederum Betriebsverzögerungen zur Folge hat. Dies kann fatal sein, wenn ein Sicherheitssystem nicht rechtzeitig anspricht. Latenzzeiten und Verzögerungen bei der Datenübertragung über das Netzwerk sind schwer zu überwinden und können eine große Gefahr für das Fahrzeug, die Insassen und die Menschen in der Umgebung darstellen.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Moderne Fahrzeuge sind Software auf Rädern, und sie werden immer komplexer. Ein durchschnittliches Fahrzeug hat derzeit 100 Millionen Codezeilen (LOC), aber es wird prognostiziert, dass diese Zahl bei einem autonomen Fahrzeug der Stufe 5 auf 600 Millionen LOC ansteigen wird. Je mehr LOC, desto größer ist die Wahrscheinlichkeit, auf Geister in der Software zu stoßen.

Der Einsatz von Technologien der künstlichen Intelligenz zur Unterstützung des Entwicklungsprozesses ist im Bereich der Automobilsoftware von entscheidender Bedeutung. Neue Möglichkeiten der Fehlersuche und ein klarerer Überblick über die Vorgänge in Echtzeit sind nicht nur für die Entwicklung besserer, sicherer Fahrzeuge von entscheidender Bedeutung, sondern auch für die Verkürzung der Zeitspanne zwischen dem Auftreten eines Softwarefehlers und dem Zeitpunkt, zu dem eine Lösung gefunden und für die Fahrzeuge auf der Straße bereitgestellt werden kann.

Störungen stellen nicht immer ein Sicherheitsrisiko dar, aber sie sollten ernst genommen werden. Stattdessen treten sie als kleine Probleme auf, die bei Fahrern Frustration hervorrufen können. Für die Hersteller ist es wichtig, die Auswirkungen dieser Störungen auf den Endnutzer zu reduzieren. Selbst in Fällen, in denen eine Störung auftritt, reicht oft ein Over-the-Air-Update aus, um das Problem zu beheben. Wichtig ist auch, dass die Hersteller in der Lage sind, die Software schnell wieder auf eine frühere Version zurückzusetzen, falls nach einem Update eine Störung auftritt.

(ID:49784351)