Bits & Bugs - in.tum.de · Google Car Unfall in Mountain View, CA, am 14.2.2016: Google AV fährt...

119
Bits & Bugs Berühmte Softwarefehler Thomas Huckle 13.10.2018

Transcript of Bits & Bugs - in.tum.de · Google Car Unfall in Mountain View, CA, am 14.2.2016: Google AV fährt...

Page 1: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Bits & Bugs

Berühmte Softwarefehler

Thomas Huckle

13.10.2018

Page 2: Bits & Bugs - in.tum.de · Google Car Unfall 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.
Page 3: Bits & Bugs - in.tum.de · Google Car Unfall 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.
Page 4: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Sicherheitsrelevante Software

Page 5: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 6: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 7: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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!

Page 8: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 9: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Flug über den Äquator:

Page 10: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 11: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Alles Unheil auf der Welt stammt von Menschen,

die glauben, sie müssten etwas Gutes tun.

Arthur Koestler

Page 12: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 13: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 14: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 15: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Weitere Tesla Unfälle 2018:

Crash in ein stehendes

Feuerwehrauto

auf der Autobahn.

Page 16: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Weitere Tesla Unfälle 2018:

Crash in Zementbarriere

bei AB-Baustelle.

Der Autopilot war verwirrt

durch mehrdeutige

Spurmarkierung.

Page 17: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Autonomes Fahren?

Page 18: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Every solution breeds new problems.

—Arthur Bloch

Jede Lösung bringt neue Probleme.

Page 19: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 20: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Warschau

Page 21: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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“

Page 22: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 23: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 24: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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”.

Page 25: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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)

Page 26: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 27: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 28: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Many mickles make a muckle

—George Washington, WRITINGS

Kleinvieh macht auch Mist.

Page 29: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

𝑁

𝑤𝑘𝑝𝑘 +𝑤𝑖 𝑝𝑖,𝑛𝑒𝑢 − 𝑝𝑖,𝑎𝑙𝑡

Page 30: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Ich weiß nicht, wohin Gott mich führt;

aber wenn er diese Richtung beibehält,

schlage ich vor, dass er allein weitergeht.

Bruno Bettelheim

Page 31: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Neuronales Netz

i1

i1

i2

w1

w9

z1

z2

z3

z4

w1

w12

z1

z2

z3

z4

out

Maschinelles Lernen mit bekannten Testdaten

Page 32: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 33: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Neuronales Netz

Ähnliche Probleme mit NN um Kriminelle aus Bildern zu erkennen

oder die sexuelle Orientierung (2018).

Page 34: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Neuronales Netz

Ähnliche Probleme mit NN um Kriminelle aus Bildern zu erkennen

oder die sexuelle Orientierung (2018).

Page 35: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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!

Page 36: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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!

Page 37: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 38: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Firth-of-Tay Brücke, Schottland, 1879

Page 39: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Tacoma-Brücke, 1940

„Galloping Gertie“

Page 40: Bits & Bugs - in.tum.de · Google Car Unfall 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.
Page 41: Bits & Bugs - in.tum.de · Google Car Unfall 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.

London Millennium Bridge, 2000

Page 42: Bits & Bugs - in.tum.de · Google Car Unfall 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.

London Millenium BridgeFlache Spannbrücke

Eröffnung: Juni 2000. Architekt: Norman Foster.

Schließen am dritten Tag wegen Schwanken.

Wiedereröffnung: 22. Februar 2002.

Page 43: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Testläufe

Page 44: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Seemannsgang

Page 45: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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)

Page 46: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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!

Page 47: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Ariane 5 (4.6.1996)

http://enumath2013.epfl.ch/PublicR

egistrationForm_2.php

Page 48: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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 $.

Page 49: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 50: Bits & Bugs - in.tum.de · Google Car Unfall 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.

• 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!

Page 51: Bits & Bugs - in.tum.de · Google Car Unfall 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.
Page 52: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 53: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

.....

Page 54: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 55: Bits & Bugs - in.tum.de · Google Car Unfall 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.
Page 56: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 57: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Der Weg zum Ziel verläuft nie gerade,

allerdings auch nicht krumm,

genau besehen gibt es ihn gar nicht.

Susan Sontag

Page 58: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Patriot Missile (1991)

Irak-Krieg I (resp. II)

(Deutsches Nachfolgeprojekt: MEADS)

Page 59: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 60: Bits & Bugs - in.tum.de · Google Car Unfall 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.
Page 61: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Map

Page 62: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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!!!

Page 63: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 64: Bits & Bugs - in.tum.de · Google Car Unfall 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.

• 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

Page 65: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Strategic Defense Initiative SDI, Star Wars

Page 66: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Strategic Defense Initiative SDI

Page 67: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Strategic Defense Initiative SDI

Page 68: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Strategic Defense Initiative SDI

Page 69: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 70: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 71: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 72: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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)

Page 73: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Torpedo

Page 74: Bits & Bugs - in.tum.de · Google Car Unfall 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.

- 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

Page 75: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 76: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 77: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Mars Climate Orbiter (1999)

Page 78: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 79: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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!

Page 80: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 81: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Sojourner (1997)

Page 82: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 83: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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!

Page 84: Bits & Bugs - in.tum.de · Google Car Unfall 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.
Page 85: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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!

Page 86: Bits & Bugs - in.tum.de · Google Car Unfall 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.

manche meinen

lechts und rinks

kann man nicht

velwechsern.

werch ein Illtum.

E. Jandl

Lichtung

Page 87: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Therac-25: 1985-87

Röntgen/Elektron-Bestrahlung

Page 88: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 89: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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!

Page 90: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Fehler durch User Interface

Page 91: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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!

Page 92: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 93: Bits & Bugs - in.tum.de · Google Car Unfall 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.
Page 94: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 95: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 96: Bits & Bugs - in.tum.de · Google Car Unfall 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.
Page 97: Bits & Bugs - in.tum.de · Google Car Unfall 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.
Page 98: Bits & Bugs - in.tum.de · Google Car Unfall 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.
Page 99: Bits & Bugs - in.tum.de · Google Car Unfall 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.

MSNBC Video

Page 100: Bits & Bugs - in.tum.de · Google Car Unfall 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.
Page 101: Bits & Bugs - in.tum.de · Google Car Unfall 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.
Page 102: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 103: Bits & Bugs - in.tum.de · Google Car Unfall 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.
Page 104: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Prediction is very difficult, especially about the future.

—Niels Bohr

Prognosen sind schwierig, besonders wenn sie die

Zukunft betreffen.

Page 105: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Untergang der Ölplattform Sleipner (1991)

Simulation mit FEM-Code: Untereschätzung der effektiv

auftretenden Scherkräfte um 47%

Page 106: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 107: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 108: Bits & Bugs - in.tum.de · Google Car Unfall 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.
Page 109: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 110: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 111: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Verzögerung von Großprojekten

Toll collect

Airbus 380 Verkabelung

Gesundheitskarte

Digitaler Polizeifunk

Flughafen Berlin

Stuttgart 21

Elbphilharmonie Hamburg

Page 112: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 113: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 114: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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)

Page 115: Bits & Bugs - in.tum.de · Google Car Unfall 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.

• 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

Page 116: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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.

Page 117: Bits & Bugs - in.tum.de · Google Car Unfall 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.

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

Page 118: Bits & Bugs - in.tum.de · Google Car Unfall 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.

Source of Bugs?

Personally I believe, it‘s the chemicals in the food

Page 119: Bits & Bugs - in.tum.de · Google Car Unfall 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.

In heaven all the interesting people are missing.

—Friedrich Nietzsche

Hat man bemerkt, dass im Himmel alle interessanten

Menschen fehlen?