Anzeige

Gastkommentar Warum Software sicherer werden muss

Immer öfter kosten Software-Fehler Menschenleben. Qualität muss eine neue Bedeutung in der Software-Entwicklung erhalten. Von Johannes Bohnet
Software im Auto: Was helfen soll, kann zur tödlichen Gefahr werden
Software im Auto: Was helfen soll, kann zur tödlichen Gefahr werden
© Daimler
johannes_bohnet

Johannes Bohnet ist Geschäftsführer der Software Diagnostics GmbH. Das Unternehmen aus Potsdam ist eine Ausgliederung des Hasso-Plattner-Instituts in der brandenburgischen Landeshauptstadt

Wo Software ist, da sind auch Software-Fehler. Wir erleben Sie bei der Arbeit im Büro, ärgern uns, weil sie Zeit und Geld kosten – und haben uns dennoch damit arrangiert. So verschieben viele Anwender Software-Updates um Wochen und Monate, um der Gefahr eines Ausfalls durch Fehler in der neuen Version zu entgehen. Dabei nehmen sie die Gefahr einer Sicherheitsbedrohung ihrer Systeme bewusst in Kauf.

Wer hingegen der Empfehlung von Sicherheitsexperten folgt und Software-Updates immer zeitnah einspielt, bekommt nicht selten den Eindruck, als „Versuchskaninchen“ für die Hersteller von Software zu dienen. Das ist besonders ärgerlich, weil Fehler in Computerprogrammen allein in Deutschlands Wirtschaft Milliardenschäden anrichten.

Software blockiert Airbags

Wirtschaftliche Verluste sind jedoch nicht die einzige und nicht die schlimmste Folge von Fehlern in Software-Programmen. Viel schlimmer traf es allem Anschein nach einige Kunden von General Motors: Sie sollen durch einen Software-Defekt bei Fahrzeugen der Marke Chevrolet ums Leben gekommen sein, weil die Software das Auslösen des Airbags bei Unfällen verhinderte. Die amerikanische Verbraucherschutzorganisation Center for Auto Safety (CAS) hat deshalb eine Petition bei der amerikanischen Verkehrssicherheitsbehörde National Highway Traffic Safety Administration (NHTSA) eingereicht. Und hier handelt es sich nicht um einen Einzelfall, auch wenn andere Fehler bislang weniger fatale Folgen hatten.

Beispiel Toyota: Kürzlich wurden fast zwei Millionen Prius-Fahrzeuge wegen eines Software-Fehlers zurückrufen. Beispiel Opel: Fahrer bestimmter Insignia-Modelle erlitten Motorschäden durch Software-Fehler. Beispiel Tesla: Bei einem vom amerikanischen Elektroauto-Hersteller veranstalteten Hacking-Wettbewerb drangen Studenten in die Steuerung eines Tesla Model S ein und waren in der Lage, während der Fahrt sämtliche Türen zu öffnen. Die Liste ließe sich beliebig fortsetzen. Nicht einmal die öffentlichen Verkehrsmittel sind sicher vor Software-Problemen: Das gilt für Hochgeschwindigkeitszüge und Flugzeuge ebenso wie für die Schifffahrt auf dem Bodensee. Große Schlagzeilen durch Software-Pannen machten neben der amerikanischen Krankenversicherung „Obamacare“ auch schon Universitäten, Banken und die US-Börse Nasdaq. Und Experten wissen: All dies ist nur die Spitze eines gigantischen Eisbergs.

Kein Entwickler will fehlerhafte Programme schreiben

Angesichts dieser weiten Verbreitung von Software-Fehlern mitsamt ihren bedrohlichen Auswirkungen müssen wir uns fragen: Wie kann es sein, dass schadhafte Software ungehindert Menschen tötet und immense wirtschaftliche Werte vernichtet? Was ist zu tun, um diesen Zustand zu beenden?

Dazu eines vorweg: Kein Entwickler will fehlerhafte Programme schreiben. Allerdings steigt der Zeit- und Kostendruck bei der Entwicklung in allen Branchen. Die Folge sind häufig „Abkürzungen“ bei kurzfristigen Änderungen, die für den konkreten Anwendungsfall unproblematisch sind. Doch diese Unsauberkeiten im Code provozieren unweigerlich Fehler, wenn das geänderte Modul wiederverwendet oder erneut geändert wird – eine gängige Praxis. Es ist wie bei einer Brücke, die regelmäßig neu gestrichen und geteert wird: Irgendwann hält sie hoher Belastung nicht mehr Stand, weil Rost und andere Schwachstellen in der Konstruktion nicht erkannt und beseitigt wurden. Um im Bild zu blieben: Manager, die über die (Wieder-)Verwendung einer bestimmten Software entscheiden müssen, sind wie ein Ingenieur, der eine Brücke für befahrbar erklärt, ohne sie mit moderner Technik zu untersuchen.

Wo immer die Qualität von Software dem Streben nach kürzeren Bereitstellungszeiten und Kosteneffizienz untergeordnet wird, sind folgenschwere Fehler im Wortsinn „vorprogrammiert“. Das zu verhindern ist möglich. Die erforderliche Technologie zum Prüfen und Bewerten von Software existiert bereits. Sie macht die Qualität von Software mit Hilfe automatischer Analysen und leicht erfassbarer Visualisierungen im Stile einer Software-Landkarte sichtbar. Damit Fehler beseitigt werden, bevor sie Schaden anrichten können.

Es ist höchste Zeit zu Handeln

Sicher: Qualität kostet – Zeit und Geld. Doch fehlende Qualität fordert einen viel höheren Preis, auch wenn es nicht immer gleich um Menschenleben geht. Oft sind hohe wirtschaftliche Schäden die Folge fehlenden Qualitätsbewusstseins. Denn Fehler von Unternehmen und Organisationen aufgrund mangelnder Software-Qualität lassen sich im Zeitalter von Social Media immer weniger vertuschen. Jeder Fehler beschädigt das Image – mit teuren Folgen. Darüber hinaus leidet das Vertrauen in die Technologie, was angesichts zunehmend vernetzter Fahrzeuge, Produkte oder Maschinen zu einem gesellschaftlichen Problem wird.

Deshalb müssen die Entscheider in Unternehmen Qualität (wieder) zum ersten Maßstab für erfolgreiche Software-Entwicklung erheben. Und zwar jetzt. Denn jedes durch einen Software-Fehler verlorene Leben ist eines zu viel. Besinnen wir uns auf das Ziel jeder Software-Entwicklung: Menschen zu helfen.

Neueste Artikel