Community trifft Development - Umgang mit Bugs bei maemo / Meego
Bits & Bugs - in.tum.de · Google Car Unfall in Mountain View, CA, am 14.2.2016: Google AV fährt...
Transcript of Bits & Bugs - in.tum.de · Google Car Unfall in Mountain View, CA, am 14.2.2016: Google AV fährt...
Bits & Bugs
Berühmte Softwarefehler
Thomas Huckle
13.10.2018
Sicherheitsrelevante Software
Rechner
(2): (4/3-1)*3 – 1 und ((4/3-1)*3 – 1) sollten gleich sein!
Was macht Windows Excel?
IEEE Regeln für elementare arithmetische Operationen:
(1) Sind x und y=f(x) Maschinenzahlen, dann sollte eine
Implementierung von f(x) das exakte Ergebnis liefern.
(2) f(x) und (f(x)) sollten genau dasselbe Ergebnis liefern.
(3) Programm sollte immer denselben Output liefern.
(1): sqrt(4) sollte genau 2 ergeben!
Was macht der Windows Calculator?
(3) NVIDIA Titan V GPU liefert unterschiedliche Resultate.
function x = myrealmin()
x = 1;
temp = x;
while eps * temp / 2 > 0
temp = (eps * temp / 2) % ;
if (temp > 0)
x = temp;
end
end
6
MATLAB und Heisenberg Effekt
heisen.m
a = 1;
while a*
end
a = last
Unterschiedliche Resultate abhängig von Ausgabe oder
Art der Ausführung.
Bohrbug: deterministisch
Schrödingbug: non-deterministisch
Klassifizerung von Bugs
Heisenbug: Beobachten verändert das Verhalten.
Lance Armstrong Bug: Fehler verschwindet, wenn
man nach ihm sucht!
Schalttag: Flughafen Düsseldorf
Spiegel, 29.2.2016
Am Düsseldorfer Flughafen sind am Montag etwa 1200 Koffer liegen-
geblieben. Der Grund: Die Software der Gepäck-Förderanlage hatte sich
von dem Schalttag aus dem Takt bringen lassen. "Die Anlage hat den
29. Februar nicht als Tag erkannt", sagte ein Flughafensprecher.
Hunderte Koffer blieben dabei liegen und wurden zunächst nicht an
den Zielort transportiert. Gegen Mittag sei das Problem durch ein
Software-Update behoben worden.
Flug über den Äquator:
Softwarebug bei der „Bundesagentur für Arbeit“
Viele Arbeitslose müssen auf ihr Geld warten
Berlin.- Kurz vor Inkrafttreten der Arbeitsmarktreform ist bei der Bundesagentur für
Arbeit eine schwere Computerpanne aufgetreten……
Der Programmierfehler führte dazu, dass das Computerprogramm in den Überwei-
sungsformularen für das Arbeitslosengeld leere Felder anstatt am Anfang am Ende
der Kontonummern automatisch mit Nullen auffüllte. …..
Freitag, 31.12.2004
10-stellige Maske für Kontonummern. Manche Banke haben kürzere Kontonummern!
Linksbündig oder rechtsbündig, leere Felder gleich Null.
9 7 8 6 5 9 3 1 6 0
Alles Unheil auf der Welt stammt von Menschen,
die glauben, sie müssten etwas Gutes tun.
Arthur Koestler
Google CarUnfall in Mountain View, CA, am 14.2.2016:
Google AV fährt in Spur die von Sandsäcken blockiert ist.
Autopilot will die Spur wechseln.
Bus kommt von hinten auf dieser Spur.
Autopilot (und auch der Testfahrer) erwarten, dass der Busfahrer
stoppt oder zumindest langsamer fährt.
Aber der Busfahrer fährt stur weiter.
Schwierigkeiten durch Autopilot Mensch
Tesla Model S, 7.Mai 2018, Florida
Autopilot verwendet Kamera und Radar. Das System reagiert aber
nur, wenn beide ein Hindernis melden.
Beide Systeme haben Schwierigkeiten, ein Hindernis, das von der
Seite kommt, zu erkennen.
Uber Auto, 18.3.2018, Arizona
Software erkennt Fußgänger:
- zuerst als unbekanntes Objekt,
- dann als Fahrzeug, und
- schließlich als Fahrrad.
Notbremsung nicht erlaubt von der Software, da
oft unnötig Hindernisse gemeldet
Volvos eingebautes Sicherheitssystem würde eine Notbremsung
durchgeführt haben.
Uber Volvo überfährt Fußgängerin, die ihr Fahrrad schiebt
Weitere Tesla Unfälle 2018:
Crash in ein stehendes
Feuerwehrauto
auf der Autobahn.
Weitere Tesla Unfälle 2018:
Crash in Zementbarriere
bei AB-Baustelle.
Der Autopilot war verwirrt
durch mehrdeutige
Spurmarkierung.
Autonomes Fahren?
Every solution breeds new problems.
—Arthur Bloch
Jede Lösung bringt neue Probleme.
Flugzeugunfälle
Lauda Air Flug 004 von Bangkog nach Wien, 1991:
Schubumkehr während des Flugs durch Kurzschluss
aktiviert. Absturz.
Lauda Air Warschau Hamburg
Lufthansa Flug 2904 von Fankfurt nach Warschau, 1993:
Während schwieriger Landung wurde Bremsen erst
Verzögert möglich wegen Einschränkungen für Aktivierung
der Schubumkehr.
Warschau
Airbus Landung in Hamburg, 2008
Crab und Sideslip-Technik für Landung bei starkem Seitenwind.
Durch Aufsetzen des Fahrwerks geht das System in Landemodus
und verhindert starke Steuerbewegungen.
„Mode awareness“
BW-Hubschrauber Tiger, Mali,
2017
In diesem Fall:
Autopilot versucht starke Instabilitäten auszugleichen
Extreme Lenkbewegungen
Autopilot-Steuerungen sind trotzdem nicht ausreichend
Autopilot schaltet sich ab und übergibt an Piloten
Die Piloten haben keine Zeit und Chance mehr,
den Absturz zu verhindern.
Der Autopilot soll starke Schwankung durch Wind automatisch
ausgleichen.
XEROX Scanner,2013
In XEROX Scanner
wurden bei niedrig
eingestellter Auflösung
Pattern (Zahlen, Buchstaben)
erkannt und als solche
gespeichert.
Erlaubt höhere Kompression.
Allerdings wurden sie
in bestimmten Fällen
falsch erkannt und die
Zahlen falsch ersetzt.
Flash Crash, April 2013
Der sinkende Goldpreis veranlasste die Broker, ihre Algo-Trading-
Programme zu modifizieren, so dass sie sensibler auf sinkende
Kurse reagieren sollten
In wenigen Minuten brach der DAX um 180 Punkte ein.
Risiko des “high frequency trading” “high frequency crash”.
Mathematische Modelle zur
Risiko-Analyse
Problem: In mathematischen Modellen zur Abschätzung von
Investitionsrisiken müssen bestimmte Parameter eingesetzt
warden (wie in der Physik).
Solche Parameter und Konstanten können verlässlich
abgeschätzt warden, solange die Ökonomie stabil, aber sie
sind vollkommen falsch in Krisensituationen.
Ökonomische Gleichungen sind anders als Physik.
Außerdem werden oft statistische Annahmen gemacht wie
Normalverteilung oder Stetigkeit.
Black Swan Effekt (Nassir Taleb)
High Frequency Trading
Schnelle Datenleitungen zu digitalen Börsen erlauben Vorteile auf
Kosten anderer Investoren mit langsamen Leitungen.
B
“Flash Boys” von Lewis;
“The Money Formula” von Wilmott, Orrell;
„The Quants“ von Patterson;
„Weapons of math destruction“ von O‘Neil.
M M M
O
SMARS, Knight Capital
Zu gegebener Kauforder werden rekursiv Aufträge generiert.
Kaufe N
………………………………………………………
………………………………………………………
Unglücklicher Weise war durch einen Software-Update
die Abbruchabfrage deaktiviert………………………………………………………
………………………………………………………
Check auf N
Many mickles make a muckle
—George Washington, WRITINGS
Kleinvieh macht auch Mist.
Börsenindex Vancouver 1983.
Start des Indexes mit Wert 1000.
Bei jedem Verkaufsereignis (ca. 3000
Mal pro Tag) wurde der
Index neu berechnet auf drei Stellen nach dem Komma:
Update der Veränderung berechnet mit vier Stellen nach
dem Komma und dann Abschneiden der vierten Stelle.
29
Nach 22 Monaten wurde 574.081 angegeben.
Der ‚wahre’ Wert: 1098.892
Systematischer Fehler, der sehr oft auftritt!
Vancouver Stock Exchange
𝐼 =
𝑘=1
𝑁
𝑤𝑘𝑝𝑘 =
𝑘=1
𝑁
𝑤𝑘𝑝𝑘 +𝑤𝑖 𝑝𝑖,𝑛𝑒𝑢 − 𝑝𝑖,𝑎𝑙𝑡
Ich weiß nicht, wohin Gott mich führt;
aber wenn er diese Richtung beibehält,
schlage ich vor, dass er allein weitergeht.
Bruno Bettelheim
Neuronales Netz
i1
i1
i2
w1
w9
z1
z2
z3
z4
w1
w12
z1
z2
z3
z4
out
Maschinelles Lernen mit bekannten Testdaten
Neuronales NetzNeuronales Netz trainiert, Panzer auf Bildern zu entdecken (1994):
Das Netz versagt vollkommen.
Bilder mit Panzern waren an bewölkten Tagen aufgenommen,
Bilder ohne Panzer an sonnigen Tagen.
Das NN bestimmte das Wetter auf den Bildern!
Tank - NO Tank - YES
Neuronales Netz
Ähnliche Probleme mit NN um Kriminelle aus Bildern zu erkennen
oder die sexuelle Orientierung (2018).
Neuronales Netz
Ähnliche Probleme mit NN um Kriminelle aus Bildern zu erkennen
oder die sexuelle Orientierung (2018).
Neuronales Netz
Ungewollten Kriterien in den Testbildern,
die das NN zum Lernen zugrunde legt.
(Charakter der Bilder).
Kein Einsicht in die Parameter/Gewichte im NN.
Blackbox.
Ethische Probleme!
Olympiade, 2012
Olympiade in London, August 2012:
Der Hammerwurf von Betty Heidler wird für
ungültig erklärt!
Der Computer akzeptierte die Eingabe ihrer Wurfweite von 77,12m
nicht, da sie exakt diesselbe Weite erzielt hatte wie die vor ihr
werfende Russin Tatyana Lysenko!
U-Bahn LondonU-Bahn-Zug gesteuert mit zwei Druckknöpfen:
(1) Türen schließen. (2) Abfahrt
Abfahrt nur möglich, wenn Türen geschlossen.
Fahrer fixiert Abfahrtknopf,
um immer nur Türen-
Schließen zu betätigen.
Fahrgasttür ist verklemmt.
Fahrer geht zu dieser Tür
und behebt die
Verklemmung.
U-Bahn fährt ohne den
Fahrer los!
Zug wird im nächsten Bahnhof automatisch gestoppt.
Türen
Abfahrt
Firth-of-Tay Brücke, Schottland, 1879
Tacoma-Brücke, 1940
„Galloping Gertie“
London Millennium Bridge, 2000
London Millenium BridgeFlache Spannbrücke
Eröffnung: Juni 2000. Architekt: Norman Foster.
Schließen am dritten Tag wegen Schwanken.
Wiedereröffnung: 22. Februar 2002.
Testläufe
Seemannsgang
Murphy‘s Gesetz:• Wenn irgendein Teil einer Maschine falsch eingebaut werden kann,
so wird sich immer jemand finden, der das auch tut.
• Nach dem Auseinander- und Zusammenbauen einer Vorrichtung bleiben immer einige Teile übrig.
• Bei einer beliebigen Berechnung wird die Zahl, deren Richtigkeit für alle offensichtlich ist, zur Fehlerquelle.
• Wenn es mehrere Möglichkeiten gibt, eine Aufgabe zu erledigen und eine davon in einer Katastrophe enden kann, dann wird es jemand genau so machen.
• Alles, was schief gehen kann, wird auch schief gehen - es ist nur eine Frage der Zeit!
• Wenn etwas auf verschiedene Arten schief gehen kann, dann geht es immer auf die Art schief, die am meisten Schaden anrichtet.
• Hat man alle Möglichkeiten ausgeschlossen, auf die etwas schief gehen kann, eröffnet sich sofort eine neue Möglichkeit.
Je größer die Menge, desto mehr Mist kommt darin vor (P.Diaconis)
Strumpfpaare
10 Paar Strümpfe, 6 Strümpfe gehen verloren:
Wahrscheinlichkeit
7 vollständige Paare: 0.003
6 vollständige Paare: 0.130
5 vollständige Paare: 0.520
4 vollständige Paare: 0.347
Der „worst case“ ist praktisch am wahrscheinlichsten!
In einem System, das auf einem hohen Grad an Ordnung beruht, werden kleine Fehler meist eine große Auswirkung haben!
Ariane 5 (4.6.1996)
http://enumath2013.epfl.ch/PublicR
egistrationForm_2.php
Ariane 5
• Am 4.Juni 1996 startete die ESA eine Rakete von Französisch Guyana aus.
• Vierzig Sekunden nach dem Start explodierte die Rakete.
• Verlust ca. 500 Millionen Dollar (Euro) für Rakete und Ladung (vier Satelliten).
• Entwicklungskosten ca. 7 Milliarden $.
Ursache des Absturzes
• Absturz des Bordcomputers 36.7 Sek. nach dem Start. Grund:
• Versuch der Umwandlung einer 64 Bit Gleitpunkt-zahl in16 Bit signed Integer-Format: Binärdarstellung ± b1 b2 ... b15 , biє{0,1}
• Die entsprechende Zahl war größer als 215=32768 und erzeugte einen Overflow = Registerüberlauf.
• Zusammenbruch des Lenksystems, Flug wurde instabil und Triebwerke drohten abzubrechen.
• Selbstzerstörung
• Software stammte von Ariane 4, aber die
entsprechende Zahl war der Wert der horizontalen
Geschwindigkeit, und Ariane 5 flog schneller!!!
• Software war für den Flug überflüssig, nur wichtig für
ev. Restart bei Countdownabbruch
• Ein Backup-Rechner verwendete die gleiche Software
und war Sekunden vorher bereits abgestürzt
• Die Zahlumwandlung war nicht abgesichert!!!
Niemand dachte, dass die horizontale
Geschwindigkeit so groß werden könnte!
Pentium Processor Bug (1994)
Beispiel des auftretenden Fehlers bei Division:
x = 4195835.0
y = 3145727.0
Berechne z = x – (x / y ) · y
Bei exakter Rechnung: z = 0
Intel Pentium lieferte z = 256
Ursache
• Intel verwendet zur Division den Radix-4
SRT Algorithmus:
- Sammle signifikante Stellen in Divisor und
Dividend, bzw. Divisionsrest
- Lies aus Tabelle eine Schätzung für die
nächste Stelle des Quotienten ab
.....
Vorteil: Es werden pro Takt 2 Bit des
Quotienten berechnet.
Die Look-up Tabelle sollte 1066 Einträge
haben für alle möglichen Konstellationen.
Durch Fehler (ev. zu kurze FOR-Schleife,
Beschädigung der Maske, falsche Einschätzung
welche Einträge nötig sind) wurden nur 1061 in
die Tabelle eingetragen und in alle Chips
gebrannt.
Auswirkungen des Bug
• Bei Gleitpunkt-Division konnten Fehler an
der vierten Dezimalstelle auftreten
• Häufigkeit des Fehlers:
- alle 27000 Jahre einmal (laut Intel)
- Alle 24 Tage einmal (laut IBM)
Verlust für Intel >400 Millionen Dollar.
Der Weg zum Ziel verläuft nie gerade,
allerdings auch nicht krumm,
genau besehen gibt es ihn gar nicht.
Susan Sontag
Patriot Missile (1991)
Irak-Krieg I (resp. II)
(Deutsches Nachfolgeprojekt: MEADS)
Patriot-fehler
• Am 25.2.1991 ver-fehlte eine Patriot-Rakete eine angrei-fende irakische Scud-Rakete.
• Die Scud-Rakete schlug in eine ame-rikanische Kaserne in Saudi-Arabien ein
Map
Ursache
• Interne Uhr des Steuercomputers gibt die
Zeit in Zehntel-Sekunden an
• Steuerprogramm rechnet in Sekunden
• Umrechnung, indem durch 10 geteilt wird
• Realisierung dieser Umrechnung, indem mit
0.1 multipliziert wird.
Binärsystem mit endlicher Stellenzahl!!!
Rundungsfehleranalyse
...22222210
1 13129854
210001100110010001100110.010
1
82625 105.900000095.0...22
Als Festkommazahl im Binärsystem mit 24 Stellen:
Dadurch entsteht offensichtlich ein Rundungsfehler
• Nach 100 Betriebsstunden ergibt sich dadurch zwischen vergangener und berechneter Zeit ein Unterschied von
• Scud-Geschwindigkeit: 1.676km/s=6034km/h, daher fliegt die Scud-Rakete in 0.34 Sekunden ca. 0.57 km weiter und befindet sich damit schon außerhalb der Reichweite des Aufspürsystems der Patriot!
• Weiterer Grund: Patriot trafen meist nur das Hinterteil der Scud. Sprengkopf stürzte daraufhin unkontrolliert ab.
Auswirkung des
Rundungsfehlers:
ss 34.0106.3105.9 68
Strategic Defense Initiative SDI, Star Wars
Strategic Defense Initiative SDI
Strategic Defense Initiative SDI
Strategic Defense Initiative SDI
SDI Komplexität:
Ist es möglich, eine angreifende Interkontinental-Rakete
mittels Computer und Software sicher und ohne Schaden
für andere zu zerstören?
- kurzer Zeitrahmen
- Mehrfach- oder Schein-Sprengköpfe, zweite Stufe
- Präzision (triff genau den nuklearen Sprengkopf!)
- Entscheidung vom Computer oder vom Menschen?
- Länge des Codes Fehlerwahrscheinlichkeit
- ernsthafte Tests erst im Ernstfall möglich?
“Command and Control” von Eric Schlosser
Irakkrieg: Abschuss eines britischen Flugzeugs, April 2003
Falklandkrieg 1982: Versenken der Sheffield durch
argentinische Exocet mit Nato-Kennung
Friendly Fire
Irak-Krieg: Anschuss eines britischen Flugzeugs, April 2003
Falkland-Krieg 1982: Versenken der „Sheffield“ durch Treffer
einer argentinischen NATO-Exocet.
Militärische Probleme
Fort Drum, 2002: Vor dem Abfeuern vergessen Soldaten die
Zielhöhe einzugeben. Voreinstellung: Höhe 0.
Daher schlägt das Geschoß viel zu kurz ein.
Afghanistan, 2001: Soldaten geben GPS-Koordinaten eines
von Flugzeugen aus anzugreifenden Ziels in Computer ein.
Dann muss aber die Batterie des Gerätes ausgetauscht werden.
Das setzt aber dann die Koordinaten auf die eigene Position.
Absenden dieser Koordinaten für den Angriff.
Flugzeugangriff auf die eigene Stellung.
Short Stories:
• USS Yorktown: Division durch 0, 1998
• Atom-Alarm in Russland, 1983
• Abschuss eines iranischen Airbus, 1988
• Überlingen, TCAS (traffic collision avoiding system)
• Qantas, Air France (ADIRU-altimeter)
Torpedo
- Ozon-Loch: Analyse der gemessenen Daten
- Deaktivierung des Beifahrer-Airbag
- Brücke über den Rhein
- zweigleisige Eisenbahnstrecke
Gleisabbau von beiden Seiten
Entferne das rechte Gleis!Höhe ü.d. Meeresspiegel
Schweiz Deutschland
Laufenburg 2004, -27cm
War einmal ein Bumerang;
War ein Weniges zu lang.
Bumerang flog ein Stück,
Aber kam nicht mehr zurück.
Publikum – noch stundenlang –
Wartete auf Bumerang.
J. Ringelnatz
Der Bumerang
Eine Meile ist 1609 Meter lang, und wenn Sie auf die 9 Meter
verzichten können, ist die Umrechung daher 5:8.
Die Maßeinheit für Brennstoff ist die amerikanische Gallone
(3.785 Liter), die, über den Daumen gepeilt, im Verhältnis 1:4
auf Liter umgerechnet werden kann.
Der Benzinverbrauch eines Wagens wird in Amerika in miles
per gallon angegeben, und wenn Sie das jeweils in Kilometer
pro Liter umrechnen wollen, wünsche ich Ihnen viel Glück.
.............
Der Reifendruck wird mit pounds per square inch (Pfund pro
Quadratzoll) angegeben, und jeder Versuch, dies mit unseren
Atmosphären in Bezug zu bringen, ist meines Erachtens
verlorene Mühe.
Paul Watzlawick in Gebrauchsanweisung für Amerika
Mars Climate Orbiter (1999)
Mars Climate Orbiter
Start: 11.12.1998
Ziele: Erreichen einer Umlaufbahn
Kartographierung der Oberfäche
Relaisstation für den Mars Polar Lander
Absturz am 23.9.1999 bei Anflug an den Mars
Ursache:
Verwendung unterschiedlicher Einheiten:
Lockheed lieferte Gerät, das wirkende Kraft
mit ‚pound‘ angab,
NASA (resp. Jet Propulsion Lab in Pasadena)
hatte Gerät in Auftrag gegeben, das ‚Newton‘
liefern sollte.
‚Imperiale‘ versus ‚metrische‘ Einheiten!
Soll i aus meim Hause raus?
Soll i aus meim Hause nit raus?
Einen Schritt raus?
Lieber nit raus?
Hausenitraus –
Hauseraus
Hauseritraus
Hausenaus
Rauserauserauserause ...........
Christian Morgenstern
Gespräch einer Hausschnecke mit
sich selbst
Sojourner (1997)
Sojourner-Fehler
Mars-Auto Pathfinder erforschte 1997 mit
großem Erfolg die Marsoberfläche -
bis auf kleinen Fehler:
Der Bordcomputer führte manchmal aus
unerfindlichen Gründen einen Neustart durch,
incl. Daten- und Zeitverlust.
Ursache: „Priority Inversion“
Informations-Bus zum Datenaustausch zwischen
verschiedenen Komponenten:
• Höchste Priorität: (H) Bus-Management (häufig)
• Mittlere Priorität: (M) Kommunikations-Task, sendet
gesammelte Daten zur Erde (lang)
• Niedrige Priorität: (N) Eintrag von meteorologischen
Daten;
(N) und (H) benutzen gemeinsamen Speicher;
dadurch kann (N) (H) blockieren!
Mars Rover Spirit Bug (Januar 2004)
Flash Memory formatiert im FAT-Format (File Allocation Table).
Änderungen im Filesystem erfordern einen Update der
Zugriffstabelle:
Schreibe Tabelle in den Arbeitsspeicher, führe Änderung durch und schreibe neue Tabelle zurück in Memory.
Fehler:
Tabelle wird nie kürzer, da gelöschte Dateien in der Tabelle nurentsprechend markiert werden!
Filesystem war bei Ankunft auf dem Mars so groß, dass die Tabelle nicht mehr in den RAM-Speicher passte
Wiederholtes Rebooten, bis Batterie fast leer!
manche meinen
lechts und rinks
kann man nicht
velwechsern.
werch ein Illtum.
E. Jandl
Lichtung
Therac-25: 1985-87
Röntgen/Elektron-Bestrahlung
Gefahr für den Patienten:
Durch fehlerhafte Einstellung konnte es vorkommen, dass die
Bestrahlung mit starkem Elektronenstrahl ohne Metallfolie
erfolgte!
Auf diese Arte wurden mehrere Patienten bei der Behandlung schwer
verletzt, zwei starben sogar kurz nach der Bestrahlung.
Einer der aufgetretenen Fehler:
1 Byte-Variable C als Zähler für Fehlversuche.
C = 0: Kein Fehler und Beginn der Bestrahlung
Erster Fehlversuch: C = (00000001)2
Zweiter Fehlversuch: C= (00000010)2
…..
Nach 256 Fehlversuchen wird C auf
256 = (100000000)2 (00000000)2 = 0
erhöht.
Daher Beginn der Bestrahlung trotz fehlerhafter
Einstellung!
Fehler durch User Interface
Der Programm-Code war verfasst von einem einzigen
Software-Entwickler, ohne Kommentare oder nützliche
Fehlermeldungen.
Auf diese Arte wurden mehrere Patienten bei der
Behandlung schwer verletzt, zwei starben sogar
kurz nach der Bestrahlung.
Computer-Euphorie 1980:
Software ist unfehlbar!
Denver Flughafen
2 Jahre Verzögerung der Flughafen-Eröffnung 1993-1995,
da das automatische Gepäcksystem nicht funktionierte.
2005 wurde das automatische Gepäcksystem ganz
aufgegeben.
Ziel des automatischen
Gepäcksystems:
• Vollautomatischer Be- und Entladevorgang für alle
Fluglinien
• Schnelles Zurücklegen der langen Transportwege (25
km Gleise)
• Gepäck benötigt dieselbe Zeit wie der Passagier
selbst
Umfang des Projekts
• 300 Rechner (PC) in 8 Kontrollräumen
• Highspeed Glasfasernetz
• 14 Millionen Fuß Kabel
• 56 Barcode-Leser
• 400 Frequenzlesegeräte
• 22 Meilen Schienen, 6 Meilen Fließband
• 3100 Standardwägen und 450 Wägen für Übergrößen
• 60 „Destination Code Vehicles“ pro Minute und Track
• 100000 Motoren und 92 „Programmable Logic Controller“ für die Steuerung der Motoren und Weichen
MSNBC Video
Lösung:
Von deutscher Firma Logplan:
Beschränkung des automatischen Gepäcktransports auf Teilbereich.
Inzwischen wurde das automatische System vollständig entfernt!
Is this your luggage by Luna Laboo:
http://www.isthisyourluggage.com/lost_luggage/LANDING.html
Heathrow T5 (2008):
- Zum Test mit privatem Gepäck oder Verwechselung mit Flügen.
- Versendung der verlorenen Gepäckstücke ins Ausland.
Prediction is very difficult, especially about the future.
—Niels Bohr
Prognosen sind schwierig, besonders wenn sie die
Zukunft betreffen.
Untergang der Ölplattform Sleipner (1991)
Simulation mit FEM-Code: Untereschätzung der effektiv
auftretenden Scherkräfte um 47%
Wintersturm Lothar, Weihnachten 1999
Fehlerhafte Wettervorhersage des Deutschen Wetterdienstes DWD.
Ergebnis: 100 Tote und circa 6 Milliarden € Schaden .
Ursache: Daten-Assimilation um Anfangsdaten zu erhalten.(schlecht konditioniert, Chaos, Vorhersageproblematik)
Ursache der schlechten Vorhersage:
Wettersonde, die um 12:00 von Sabre Island (Neufundland) aus
gestartet wurde versagte. Daher wurde um 13:30 eine zweite
gestartet, aber mit 12:00 Zeitstempel.
Außerdem war das Zeitintervall
zur Datenassimilation mit
6 Std. zu groß; es wurde danach
auf 3 Std. reduziert.
Erster Space Shuttle Start, 1981
5 redundante Steuercomputer,
davon vier identisch, und
einer vollkommen verschieden.
Abbruch des Countdowns
wegen Synchronisationsproblemen.
Ursache: In den Code des 5-ten Computers war ein zusätzlicher
Befehl eingebaut worden.
Dadurch längere Laufzeit – keine Synchronisation möglich.
Boeing dreamliner, 1.5.2015
Boeing's Dreamliner Has a Bug That Can Make It Lose
Power Mid-Air
Ist ein elektrischer Stromgenerator mehr als 8 Monate an,
kommt es zu einem “integer overflow” failsafe mode
Stromabschaltung, z.B. auch während des Flugs.
Stellwerk Altona, 1995
Ersetzen des alten klassischen Stellwerks durch Computer-
gesteuertes Stellwerk von Siemens basierend auf PCs.
Absturz am ersten Tag zur Hauptverkehrszeit führt zu
tagelangem Chaos im deutschen ICE-Netz.
Ursache: Speicherplatzmangel:
3,5 kByte vs. 4 kByte
Verzögerung von Großprojekten
Toll collect
Airbus 380 Verkabelung
Gesundheitskarte
Digitaler Polizeifunk
Flughafen Berlin
Stuttgart 21
Elbphilharmonie Hamburg
…
Bitcoin, August 2010
Bitcoins sind in C++ code repräsentiert als signed integer int64
in Zweierkomplement-form.
263 = 9223372036854775808
Die Summe der beiden riesigen Zahlen ergibt Integer-Overflow:
-0.01000000
Denn es werden nur Input und Output geprüft (die stimmen überein)
2010 gibt es ca. 1.5 Millionen Bitcoins.
Transaction:
- Von meinem Konto mit 50.5 BTC
- sende 92233720368.54275808 BTC nach A
- sende 92233720368.54275808 BTC nach B
- sende 50.51 BTC nach C
0=(0…0)21=(0..01)2
263-1 =(01..1)2-263
(10..0)2
(1…1)2=-1
1-263
=(10..01)2
Airbus A400M Absturz
9.5.2015 SevillaDrei der vier Triebwerke aus.
Vermutliche Ursache: Zur besseren Manövrierbarkeit (Trimmung) soll
Treibstoff von einem Flügeltank zum anderen gepumpt werden.
Vgl. Zenobia.
Tatsächliche Ursache: Bei Software-Update wichtige Daten gelöscht.
Software Bugs
• Laut INTEL: 80-90 bugs in Pentium
und in den anderen Prozessoren
• Normale Software: 25 bugs per 1000 lines of code.
• Gute Software: 2-3 bugs per 1000 lines.
• Space Shuttle Software:
weniger als 1 bug per 10000 lines
(laut NASA)
• Handy:
200 000 lines of code ca. 500 bugs
• Space Shuttle Software:
3 mill. lines ca. 300 bugs
• Windows 2000:
27 mill. lines ca. 50 000 bugs
• SDI (missile defense, USA):
25-100 mill. lines 10 000 bugs
Banana software:
Let the software ripe at the customer!
It´s not a bug, it´s a feature!
Quelle: Ingolf Giese, GSI Darmstadt
If you look at a big enough population long enough,
then almost any damn thing will happen.
—Persi Diaconis
Mit einer ausreichend großen Stichprobe wird
wahrscheinlich jede unerhörte Sache passieren. Der Punkt
ist, dass wirklich seltene Ereignisse, z.B. Ereignisse, die nur
einmal in einer Million vorkommen, in einer Bevölkerung
von 250 Millionen Menschen zwangsläufig zahlreich sein
werden. Wenn bei einer Person jeden Tag eine
Übereinstimmung auftritt, erwarten wir 250 Ereignisse pro
Tag und fast 100.000 solcher Ereignisse pro Jahr.
Ursachen von Software-Bugs- Offensichtliche Fehler (Tipp~, Konzeptions~)
- Fehlende Sicherheitsabfragen (unvorhergesehene Fälle treten auf; Division durch Null, Zahlumwandlung,...)
- Schnittstellen- ~ (Programmteile passen nicht zusammen)
- Fehlinterpretation von Ein/Ausgabe-Daten
- Ungeprüfte Wiederverwendung alten Codes
- Software und Hardware passen nicht (mehr) zusammen
- Computerentwicklung wesentlich schneller als die Entwicklung der restlichen Technologie
- Numerische Rundungsfehler
- Nicht ausreichende Tests
- Gigantismus, Komplexität
- Unterschätzen der Aufgabenstellung
Source of Bugs?
Personally I believe, it‘s the chemicals in the food
In heaven all the interesting people are missing.
—Friedrich Nietzsche
Hat man bemerkt, dass im Himmel alle interessanten
Menschen fehlen?