Versteckte Fehler können kostspielig sein
Software-Bugs: Unsichtbar heißt nicht harmlos

IT-ManagementIT-ProjekteNetzwerk-ManagementNetzwerkeSicherheitSicherheitsmanagement

Die kleinsten Softwarefehler sind manchmal die fatalsten, weil sie oft lange unbemerkt bleiben. Les Hatton berichtet aus leidvoller Erfahrung.

Einloggen im Andromeda-Nebel!

Versteckte Fehler können kostspielig sein

Ganz platt ausgedrückt gibt es zwei Arten von Fehlern in Computerprogrammen: Die, die man bemerkt, und die, die man nicht bemerkt. Im Allgemeinen bemühen wir uns sehr, diejenigen, die wir bemerken, in den Griff zu bekommen, denn was man nicht merkt, kann auch nicht so wichtig sein. – Falsch!

Denken wir noch einmal an den Mann aus Malaysia, der im April eine Telefonrechnung über 218 Milliarden US-Dollar erhalten hatte. Über die Sache haben wir bereits ausführlich berichtet, so dass ich hier nur so viel sagen möchte: Er hat Glück gehabt, denn dass die Rechnung falsch war, war nur allzu offensichtlich. Nicht einmal ein Youngster würde es schaffen, mit dem 3G-Handy einen solchen Betrag zusammenzutelefonieren, es sei denn, er würde sich über Jahre auf einer Website im Andromeda-Nebel einloggen. So mussten also selbst die Malaysischen Behörden schließlich den Irrtum eingestehen.

Nehmen wir aber einmal an, das Telefonunternehmen hätte fälschlicherweise einen Betrag von 2.180 oder meinetwegen auch 21.800 US-Dollar berechnet. Wie lange hätte es dann wohl gedauert, bis das Eingeständnis eines Fehlers auf dem Tisch gelegen hätte? Dieser Fehler wäre viel heimtückischer, weil eben nicht so offensichtlich gewesen.


Peinliches Experiment mit Software

Versteckte Fehler können kostspielig sein

Fehler, die zu Ergebnissen führen, die noch irgendwie im Rahmen zu sein scheinen, kommen erstaunlich häufig vor. In den Neunzigern war ich in folgendes Experiment involviert: Es sollte herausgefunden werden, wie genau eine Spezialsoftware für seismografische Messungen in der Lage wäre vorauszuberechnen, wo man erfolgreich nach Öl bohren könne. Es wurden damals neun verschiedene Programmpakete erstellt, die alle dieselben mathematisch definierten Erfordernisse erfüllten und in derselben Programmiersprache geschrieben waren. Es war eine harte Konkurrenz ohne Möglichkeit heimlicher Absprachen. Die Programmierarbeit für eine solche Software sollte Tausenden von Mannjahren zur Ortung von Ölvorkommen ersetzen. Da Ölbohrungen in der Nordsee ungefähr 25 Millionen US-Dollar kosten, braucht es schon ziemlich genaue Berechnungen.

Wir beschlossen nun, die Programme mit denselben Daten und Parametern zu füttern, um herauszufinden, ob sich daraus dieselbe Antwort ergab – ein Experiment, das von Enterprise Oil finanziert wurde. Das etwas peinliche Ergebnis: Wir bekamen neun verschiedene Antworten, und jede Antwort – das war das Erstaunlichste daran – sah für sich genommen richtig aus.


Prüfen Sie mal – Überraschung garantiert!

Versteckte Fehler können kostspielig sein

Die Unterschiede waren einzig und allein durch unbemerkt eingeflossene Softwarefehler entstanden, und das in einem Industriezweig, der für die Software-Entwicklung den höchsten Standard an Qualitätskontrollen anlegt. Die Fehler waren darüber hinaus irgendwo in den 1000 bis 2000 Mannjahren der Programmentwicklung “versteckt”. Man kann also einem Programm nicht trauen, bloß weil es schon eine Zeitlang verwendet wird.

Dies sind Fakten, die sich keineswegs auf die Ölindustrie beschränken. Es schadet also nicht, von Zeit zu Zeit einmal die Finanzkalkulation zu checken, mit der man schon seit ewigen Zeiten arbeitet – um sicherzugehen, dass hier keiner irgendwann einmal etwas vermasselt hat. Sie könnten überrascht sein, was dabei herauskommt!