Studium, Ausbildung und Beruf

web uni-protokolle.de
 powered by
NachrichtenLexikonProtokolleBücherForenDonnerstag, 20. Juni 2013 

Programmfehler


Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier.
Ein Programmfehler im englischen auch einfach Bug (Wanze Käfer Insekt) genannt ist ein aus dem EDV -Bereich. Ein Programmfehler tritt in Computerprogrammen auf wenn der Programmierer einen bestimmten Zustand in der Programmlogik berücksichtigt hat oder wenn die Laufzeitumgebung selber fehlerhaft arbeitet. Auch Unvollständigkeit Fehler Mehrdeutigkeiten o.ä. in der Spezifikation des Programms können zu Bugs führen als solche interpretiert werden. Es gibt eine nach der ein Computerprogramm ab einer bestimmten Größe immer auch beinhaltet. Auch nichtinitialisierte Variablen führen im Programmablauf undefinierten meist nicht reproduzierbaren Zuständen.

Die Bezeichnung Bug entstand als 1945 eine Motte in einem der ersten Computer einen verursacht hatte. US Navy Captain Grace Murray Hopper eine Pionierin der Computerwissenschaft entdeckte den und klebte die Motte in ihr Logbuch ein das heute am Smithsonian Institute aufbewahrt wird (siehe auch moderne Legende ).

Inhaltsverzeichnis

Vermeidung und Behebung von Programmfehlern

Fehlern in Computerprogrammen wird auf vielfältige Art und Weise

Zum Einen versucht man Programmfehler durch Methoden während der verschiedenen Phasen der Software-Entwicklung vornherein zu vermeiden. Unter anderem gehören dazu Vier-Augen-Prinzip mittels regelmäßiger Code-Reviews Paarprogrammierung und gemeinsamem Code-Besitz sowie die gute Planung Analyse und Entwurf .

Zum Anderen will man Programmfehler möglichst zuverlässig und einfach finden. Dazu zählt u.a. Debugging ("Entwanzung" Entfehlerung) mit Hilfe speziell dafür Werkzeuge genannt Debugger und die Einplanung spezieller Test-Phasen.

Manche Softwareanbieter führen diese Test-Phasen teilweise durch und geben Betaversionen heraus um die unvorhersehbar vielfältigen Nutzungsbedingungen Anwender durch diese selbst testen und kommentieren lassen. Dies nennt man scherzhaft auch "Bananensoftware" sie erst beim Kunden reift.

Tests sind Prozeduren und Programme die einen reproduzierbar auslösen sollen um sie einzugrenzen und vermeiden sie dienen sowohl zur Vermeidung als zum Auffinden von Programmfehlern.

Insbesondere in Bereichen in denen der von Software mit hohen finanziellen wirtschaftlichen oder Risiken verbunden ist wie z.B. bei militärisch medizinisch genutzer Software oder in der Luft- Raumfahrt verwendet man zudem eine Verifizierung genannte Methode bei der die Korrektheit Software formal nachgewiesen wird. Dieser Methode sind enge Grenzen gesetzt und sie ist daher komplexen Programmen praktisch oder sogar theoretisch unmöglich

Auch die Entwicklung immer komplexerer Programmierparadigmen und Programmierstile wie die Objektorientierte Programmierung Design By Contract und die Aspektorientierte Programmierung dienen unter anderem der Fehlervermeidung und der Fehlersuche.

Arten von Programmfehlern

Es gibt verschiedene Möglichkeiten Programmfehler zu

Eine Klassifizierung nach Auffindbarkeit kategorisiert Programmfehler Bohrbugs und Heisenbugs .

Einen in einer früheren Programmversion bereits Bug der in einer späteren Programmversion wieder nennt man dort Regressionsbug.

Weitere Klassifizierungskriterien sind z.B. die Wahrscheinlichkeit Auftretens des Bugs der den Bug enthaltende die Auswirkung eines Bugs auf die praktische des Programms oder das Test-Verfahren das den identifiziert.

Folgen von Programmfehlern

Die Folgen eines Programmfehlers können außerordentlich

  • 1962 führte ein fehlender Bindestrich in einem zum Verlust der Venus -Sonde Mariner 1 welche über 80 Millionen US-Dollar gekostet hatte.
  • Zwischen 1985 und 1987 gab es mehrere Unfälle mit dem Bestrahlungsgerät Therac-25. Infolge einer Überdosis die durch Programmierung und fehlende Sicherungsmaßnahmen verursacht wurde mussten entfernt werden ein Patient verstarb drei Wochen der Bestrahlung.
  • 1996 wurde der Prototyp der Ariane 5 - Rakete der Europäischen Raumfahrtbehörde eine Minute nach dem Start zerstört Programmcode der von der Ariane 4 übernommen wurde und nur für einen der Ariane 4 nicht überschreitbaren) Bereich funktionierte Steuersysteme zum Erliegen brachte nachdem ebendieser Bereich der Ariane 5 erreicht wurde.
  • 1999 verpasste die NASA -Sonde Climate Orbiter den Landeanflug auf den Mars weil die Programmierer das falsche Maßsystem -- Yard statt Meter . Die NASA verlor dadurch die mehrere Millionen Dollar teure Sonde.

Siehe auch: Ada (Programmiersprache)

Weblinks




Bücher zum Thema Programmfehler

Dieser Artikel von Wikipedia unterliegt der GNU FDL.

ImpressumLesezeichen setzenSeite versendenSeite drucken

HTML-Code zum Verweis auf diese Seite:
<a href="http://www.uni-protokolle.de/Lexikon/Programmfehler.html">Programmfehler </a>