Computersysteme steuern die moderne Welt, was manchmal dazu führt, dass technische Ausfälle zu tödlichen Unfällen in der materiellen Umgebung führen. Solche Ausfälle sind in der Regel das Ergebnis menschlicher Fehler bei Konstruktion, Berechnungen, Softwareentwicklung und Tests.
Hier sind die auffälligsten Fehler und Fälle aus der ganzen Welt, die für Schlagzeilen sorgten und die Bedeutung der Qualitätssicherung von Software beweisen. Wir gruppieren die Vorfälle nach ihren Kosten, sei es Zeit, Geld oder Leben.
Time & Money
Der Spruch „Zeit ist Geld“ ist allen bekannt, also führen Fehler, die Zeit kosten, unbestreitbar zu finanziellen Verlusten.
USS Yorktown
Der Vorfall ereignete sich im Jahr 1997, als der amerikanische Flugzeugträger USS Yorktown aufgrund der Abschaltung aller Maschinen im System die Kontrolle über sein Antriebssystem verlor. Es stellte sich heraus, dass der Systemadministrator bei der Fehlersuche an einem Kraftstoffventil für einen der Parameter den Wert 0 in die Datenbank eingegeben hatte, und als die Systeme versuchten, diese Variable zu verwenden, wurde eine Division durch 0 verursacht. Das Schiff blieb im Wasser stehen, und es dauerte zwei Stunden und fünfundvierzig Minuten, um die Systeme neu zu starten und wieder in Betrieb zu nehmen.
Flughafen LA
Im Jahr 2004 verlor der Funkraum für Flugüberwachung am Flughafen von Los Angeles den Sprechkontakt zu mehr als 800 Flugzeugen, und das Ersatzkommunikationssystem wurde ebenfalls abgeschaltet. Dies geschah aufgrund des Ticker-Timers, der dazu diente, Nachrichten zu identifizieren und zu synchronisieren. Es begann von der höchsten Zahl 2 bis 32 Grad, und jede neue Nachricht verringerte den Timer auf 1. Als die Anzahl der Ticker 0 erreicht hat, stellte sich heraus, dass das System keine Nachrichten mehr senden konnte. Jetzt erfordert das Sicherheitsverfahren am Flughafen, dass das System alle 30 Tage neu gestartet wird, da es 50 Tage dauert, um Nachrichten von 2 bis 32 Grad zu senden. Leider war dieses Wissen mit einem erheblichen Kosten- und Ressourcenaufwand verbunden.
Patriot-Rakete
Der Vorfall ereignete sich im Jahr 1991, als das Patriot-System die von den Streitkräften von Saddam Hussein abgefeuerte Rakete nicht abfangen konnte. Die Rakete traf die Kasernen von US-Soldaten und forderte 28 Tote. Bei der Übertragung der Zeit machten 24-Bit-Interceptor-Prozessoren jede Stunde einen Fehler in 0,013 Sekunden, sodass Patriot nach mehr als 100 Arbeitsstunden ohne Systemneustart die falsche Berechnung der Raketenposition von 600 Metern bekam.
Ariane 5
Dieser Fehler kostete 7 Milliarden Dollar und gilt als einer der teuersten Fehler der Programmiergeschichte. Im Jahr 1996 sollte die Trägerrakete Ariane 5 mehrere Satelliten und andere Ausrüstung in die Erdumlaufbahn bringen, explodierte jedoch unmittelbar nach dem Start aufgrund des Fehlers in der Bordcomputer-Software. Eines der Systemmodule hat versucht, eine 64-Bit-Gleitkommazahl in eine 16-Bit-Ganzzahl umzuwandeln. Der Wert war zu groß und passte nicht in 16 Bit, was zu einem Überlauf führte. Der Haupt- und der Backup-Computer hatten die gleiche Software, also funktionierten sie auf die gleiche Weise.
Mariner 1
Mariner 1 ist ein Raumschiff, das 1962 auf einer Mission war, um an der Venus vorbeizufliegen, es aber kaum aus Cape Canaveral geschafft hat. Ein Software-Codierungsfehler führte dazu, dass die Rakete vom Kurs abwich, was zum Absturz führte. Infolgedessen mussten die NASA-Ingenieure einen Selbstzerstörungsbefehl erteilen. Die finanziellen Verluste beliefen sich Berichten zufolge auf mehr als 18 Millionen US-Dollar.
Leben
Im Folgenden sind die Fälle aufgeführt, in denen technische Ausfälle viel mehr als nur Zeit und Geld gekostet haben. Es mag surreal erscheinen, aber selbst kleine Fehler in der Programmierung können zum Tod von Menschen führen.
Fall von Joshua Brown
Die Menschen sind derzeit besessen von einem Traum von selbstfahrenden Fahrzeugen, die die menschliche Beteiligung vollständig eliminieren und mit Autopilot fahren. Allerdings ist der Preis für ihre Leistungen zu hoch, wenn es um Unfälle geht, die mit solchen Autos aufgrund technischer Fehler passieren.
Joshua Brown war der erste Tesla-Fahrer, der während einer Fahrt mit dem Autopiloten starb. Sein Auto hatte einen hellen Wagen vor dem hellen Himmel nicht erkannt und aktivierte keine Bremsanlage, sodass das Auto mit voller Geschwindigkeit in den Wagen krachte. Tesla-Vertreter bestanden darauf, dass das System funktioniert hatte und gaben dem Fahrer Signale, die Hände auf das Lenkrad zu legen, aber er ignorierte sie. Es ist immer noch unbekannt, ob dies wahr ist, aber der Unfall hat bei den Menschen Bedenken hinsichtlich des Autopiloten aufkommen lassen.
Fall von Elaine Herzberg
Eine weitere berüchtigte Geschichte handelt von Elaine Herzberg – der ersten Frau, die unter den Rädern eines selbstfahrenden Uber-Autos starb. Es war Nacht, und das Auto erkannte die Person nicht. Der Fahrer, der den Autopiloten steuern sollte, hatte nicht genug Zeit, um zu stoppen.
Londoner Rettungsdienst
Als der Londoner Rettungsdienst 1992 beschloss, menschliche Bediener durch ein Computersystem zu ersetzen, wurde es ohne Belastungstests und mit 81 bekannten Bugs in Betrieb genommen! Das System stürzte aufgrund von Fehlern bei der Verteilung der Krankenwagenrouten ab, die zum Tod von Menschen führten. Außerdem kauften sie billige Geräte, die einige Stunden nach aktiver Nutzung des Systems ausfielen.
Multidata Systems International
Dieser Fall betrifft eine Strahlentherapie-Software für Krebspatienten, die von Multidata Systems International entwickelt wurde. Eine falsche Berechnung der richtigen Dosierung setzte die Patienten schädlichen und sogar tödlichen Strahlenbelastungen aus, was den Tod von 8 Personen verursachte.
Therac-25
Der resonanteste Fall in der Programmiergeschichte medizinischer Geräte war der Vorfall mit dem Strahlentherapiegerät Therac-25. Aufgrund des Race-Condition-Fehlers konnte der Röntgenverschluss beim schnellen Umschalten zwischen dem Magnet- und Röntgenmodus des Geräts nicht eingestellt werden. Als Ergebnis erlitten zehn Patienten eine Strahlenkrankheit, die entweder zum Tod oder zur Amputation der betroffenen Körperteile führte.
Boeing 787 Dreamliner
In diesem Fall geht es um die rechtzeitige Erkennung des Fehlers im Flugzeug Boeing 787 Dreamliner, dessen Verhinderung wahrscheinlich Hunderten von Menschen das Leben gerettet hat. Bug könnte die Stromversorgung des Flugzeugs nach 248 Arbeitstagen unabhängig von der Phase des Flugzeugs abgeschaltet haben. Der Grund war eine um 32 Bit verringerte Zahl, die nach 248 Tagen 0,01 Sekunden entsprechen würde, was nicht in die Kapazität passt und zum vollständigen Verlust der Kontrolle über das Flugzeug führt.
Fazit
Diese Geschichten sind nur ein Tropfen auf den heißen Stein, und es gibt Tausende von Beispielen, in denen Programmierfehler Zeit, Geld und Leben kosten. Und es wird noch mehr geben, wenn man der Qualität der entwickelten Software und deren umfassenden Tests nicht die gebührende Aufmerksamkeit schenkt.
Bei QAwerk gehen wir verantwortungsbewusst mit den von uns entwickelten Lösungen um. Unser Ziel ist es, erstklassige Softwareentwicklungs- und Qualitätssicherungsdienstleistungen für Kunden aus verschiedenen Branchen anzubieten. Ob es um eine einfache mobile App oder ein komplexes Projekt wie die Aufrüstung des Abstimmungssystems im Europäischen Parlament geht, haben unsere Spezialisten stets die Qualität der entwickelten Produkte im Vordergrund.