Ein Programmfehler, im englischen auch einfach Bug genannt, ist ein Ausdruck aus dem EDV-Bereich.
Ein Programmfehler tritt in Computerprogrammen auf, wenn der Programmierer einen bestimmten Zustand in der Programmlogik nicht berücksichtigt hat, oder wenn die Laufzeitumgebung selber fehlerhaft arbeitet.
Es gibt eine Regel, nach der ein Computerprogramm ab einer bestimmten Größe immer auch Programmfehler beinhaltet.
Die Bezeichnung Bug entstand, als 1945 eine Motte in einem der ersten Computer einen Kurzschluss verursacht hatte. US Navy Captain Grace Murray Hopper, eine Pionierin der Computerwissenschaft, entdeckte den Bug und klebte die Motte in ihr Logbuch ein, das heute am Smithsonian Institute aufbewahrt wird (s.a. Urban Legend).
Auch nichtinitialisierte Variablen führen im Programmablauf zu undefinierten, meist nicht reproduzierbaren Zuständen.
Um Fehler in Computerprogrammen aufzufinden, werden u.a. Debugger eingesetzt (zum so genannten Deugging, Entfehlerung) oder automatisiert Eingabe- und Bedienungsvorgänge simuliert.
Manche Softwareanbieter geben Betaversionen heraus, um die unvorhersehbar vielfältigen Nutzungsbedingungen verschiedener Anwender durch diese selbst testen und kommentieren zu lassen.
Dies nennt man scherzhaft auch "Bananensoftware", weil sie erst beim Kunden reift.
Die Folgekosten eines Programmfehlers können ausserordentlich hoch sein:
1962 führte ein fehlender Bindestrich in einem Fortran-Programm zum Verlust der Venus-Sonde Mariner 1, welche über 80 Millionen USDollar gekostet hatte.
1996 wurde der Prototyp der Ariane-5-Rakete der Europäischen Raumfahrtbehörde eine Minute nach dem Start zerstört, wegen eines Programmfehlers in einem Steuerungscomputer.
Weblinks
- http://www.waterholes.com/~dennette/1996/hopper/bug.htm (zu dem Begriff Bug)