Die grössten Software-Bugs - die andere Hitliste

Der Artikel über die F-22 mit akuter “Über-Tag/Nacht-Grenze-Flugangst” hat mich darauf gebracht, mich etwas näher mit einigen bekannteren Softwarebugs zu beschäftigen (nicht im wissenschaftlich-akribischen Sinne). Und davon gibt es einige. Es wird nie eine Software geben, die in keinster Weise bugs beinhaltet, darum geht es gar nicht. In solch eine Hitliste gehören daher nicht beliebige Softwarebugs- die besten Kandidaten sind triviale, offensichtliche oder einfach nur blöde Fehler, die man vermeiden hätte können (und müssen). Hier ein paar Anwärter auf den Thron:

Venus-Sonde Mariner I

Am 22. Juli 1962 startete eine Altas-Trägerrakete mit der Sonde Mariner I an Bord von Cape Canaveral. Wenige Sekunden nach dem Start kam das Vehikel aprupt vom Kurs ab und wurde vom Sicherheitsoffizier gesprengt. Der Grund für die Kursabweichung war ein Tippfehler in der mathematischen Programmiersprache - es wurde “R” anstatt “NOT-R” verwendet (Die Geschichte des fehlenden Bindestrichs in einem Fortran-Programm gehört wohl eher zu den Legenden). Mariner I kostete mehrere Millionen US$.

Absturz einer F117

1982 stürzte ein Prototyp des F117 ab, da bei der Programmierung die Steuerung des Höhenruders mit der des Seitenruders vertauscht wurde.

Ariane V

Am 4. Juni 1996 startete der Prototyp der Ariane-IV-Rakete der Europäischen Raumfahrtbehörde vom französchischen Weltraumbahnhof in Kourou. Wenige Sekunden nach dem Start nahm der Hauptrechner keine Anweisungen mehr zur Kurskorrektur entgegen, woraufhin das Vehikel gesprengt wurde. Nach langen Untersuchungen stellte sich heraus, dass ein Teil der Steuerungssoftware einen Überlaufe hatte und somit keine korrekten Kurswerte mehr hatte. Die Steuerungssoftware war aus der Ariane IV übernommen und arbeitete an (mindestens) einer Stelle mit 16-bit Integer-Zahlen (die für die physikalischen Grenzen der Ariane IV auch ausreichten)- die aber keinerlei Gültigkeit mehr für die Ariane V hatte. Der Schaden ist mit grob einer halben Milliarde US$ zu beziffern.

Mars-Sonde Climate Orbiter

1999 verpasste die NASA-Sonde Climate Orbiter den Landeanflug auf den Mars, weil die Programmierer das falsche Maßsystem verwendeten. Ein Team rechnete mit Pfund x Sekunde – ein anderes mit Newton x Sekunde. Die NASA verlor dadurch die mehrere hundert Millionen Dollar teure Sonde. Vom Prestige mal ganz abgesehen.

Mars-Sone Phopos I

Am 2. September 1988 kam erstmals keine Verbindung zu Phopos I zustande. Einige Tage zuvor war eine neue Software hochgeladen worden, die versehentlich eine Komponente des Höhenmessers deaktivierte. Dadurch konnte Phopos I seine Sonnensegel nicht mehr korrekt ausrichten und hatte kurze Zeit später keinen Strom mehr. Die Kommandosequenz, die den Höhenmesser deaktivierte, war Teil einer Routinesequenz, die auf der Erde zu Testzwecken verwendet wurde. Da die Software auf einem PROM verhanden war, und somit die komplette Hardware hätte ausgetauscht werden müssen, verzichteten die Techniker aus Zeitdruck darauf, im Wissen, dass dieses Kommando nie verwendet werden sollte.

USS Yorktown

Ein Besatzungsmitglied des Kreuzers USS Yorktown gab aus Versehen eine Null als Wert ein. Diese Eingabe führte zu einer division by zero. Aus irgendeinem Grund schaukelte sich der Fehler weiter nach oben, bis der komplette Antrieb ohne Funktion war. Das Schiff trieb mehrere Stunden bewegungslos auf dem Meer.
1. Semester, 1. Stunde: “Alle Eingabewerte sind auf Gültigkeit zu prüfen”.

Wenn sich jemand genauer für das Thema interessiert, hier ein paar verwendete Quellen und weiterführende Literatur:

Wired news: History´s worst software bugs

Das Thema software-bug bei answer.com

Universität Bielefeld: Computer related incidents with commercial aircrafts

Software Horror-Stories 

Smithsonian: Erklärung zum ersten computer-bug

del.icio.us Slashdot Digg Facebook Technorati Google Windows Live Yahoo Bookmark.it

Kommentar hinterlassen