Professor Vetterli erklärt
Wie entstehen Softwarefehler?

Martin Vetterli ist Präsident der EPFL in Lausanne und führender Experte für Digitalisierung. Jede Woche erklärt er Begriffe aus der digitalen Welt.
Publiziert: 10.12.2017 um 17:54 Uhr
|
Aktualisiert: 13.09.2018 um 02:05 Uhr
Foto: Getty Images/iStockphoto
Martin Vetterli
Martin VetterliPräsident der EPFL Lausanne

Während ich diesen Text in meinen Rechner eintippte, fror der Bildschirm auf einmal ein, und die Software stürzte ab. Das war nicht das erste Mal, es muss also irgendeinen Bug – so
nennen wir Softwarefehler – in meinem Computer geben. Zum Glück handelte es sich nur um einen harmlosen Fehler, der zum Absturz meiner Home-Software führte. Aber es können auch schwerwiegendere Schäden ­auftreten. Wie etwa bei der Ariane 5. Eine riesige europäische Rakete, die 1996 weniger als eine Minute nach ihrem ersten Start ex­plodierte. Die Ursache war ein dummer kleiner Fehler in der Software der Rakete.

Die Sache mit dem «Bug»

Warum werden Softwarefehler überhaupt als Bugs bezeichnet? In den Anfangszeiten der Computer gab es nur wenige Geräte. Im Jahr 1947 begann einer dieser Rechner plötzlich, falsche Ergebnisse zu produzieren. Als die damaligen Ingenieure das Gerät untersuchten, stellte sich heraus, dass es an einer Motte lag, die in einem der elektromagnetischen Schalter gefangen war. Damals waren elektromagnetische Schalter noch die Kernbestandteile von Computern. Anders ausgedrückt: Es befand sich buchstäblich ein Insekt im Gerät (auf Englisch bug)! Ab diesem Zeitpunkt gab es für Computerfehler einen neuen Namen.

Der Ausdruck Bug wird mittlerweile auch ausserhalb von ­Computerzusammenhängen ­ver­wendet. Was genau ist ein Bug im Zusammenhang mit einem Computer? Nehmen wir zur Veranschaulichung ein Beispiel aus einem anderen Jahrhundert: Den berühmten Y2K-Bug – auch bekannt als Millennium-Bug. Die meisten werden von ihm gehört haben, da er im Jahr 1999 ein grosses Thema war.

Zahlendreher

Das Problem entstand, weil Programmierer einen zweistelligen Code zur Speicherung der Jahreszahl eines Datums verwendeten (1957 wurde also einfach als 57 gespeichert). Hierdurch war das Jahr 2000 allerdings nicht vom Jahr 1900 unterscheidbar und der Jahreswechsel von 1999 auf 2000 konnte insofern dazu führen, dass der Computer 99 Jahre in die Vergangenheit zurückspringen würde. Dies war ein vorhersehbarer Fehler, der zu merkwürdigen Verhaltensweisen führen konnte. Zum Beispiel hätte ein Programm, das Zinsen für ein Bankkonto berechnet, auf einmal Zinsen für zusätzliche
99 Jahre hinzurechnen können.

Zum Glück geschah nichts, und die meisten möglichen Y2K-Bugs wurden tatsächlich vor Anbruch des neuen Jahrtausends behoben. Dadurch wurde eine potenzielle Katastrophe in Bereichen wie Energie, Infrastruktur, ­Finanzen oder bei medizinischen Geräten verhindert.

Was passiert 2038?

In einigen Jahrzehnten werden wir erneut sehen, wie viel Fortschritt bei der Handhabung von zeitlichen Daten in Computern erzielt wurde. Im Jahr 2038 wird es eine weitere Y2K-ähnliche Situation geben, die auf eine neuere Methode der Datumsspeicherung bei Computern zurückzuführen ist: die Speicherung der seit dem 1.1.1970 vergangenen Sekunden.

Im Jahr 2038 wird diese Anzahl vergangener Sekunden nämlich zu gross, um weiterhin in 32 Bit gespeichert werden zu können, und daher auf null zurückgesetzt. 

Externe Inhalte
Möchtest du diesen ergänzenden Inhalt (Tweet, Instagram etc.) sehen? Falls du damit einverstanden bist, dass Cookies gesetzt und dadurch Daten an externe Anbieter übermittelt werden, kannst du alle Cookies zulassen und externe Inhalte direkt anzeigen lassen.
Fehler gefunden? Jetzt melden
Was sagst du dazu?