Bug

aus WB Wiki; freien Wissensdatenbank rund ums Thema Computer
Version vom 13. Januar 2006, 15:24 Uhr von Djcopy02 (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Bug

Ein Fehler in einem Computersystem oder einem Programm. Die Bezeichnung geht auf einen Hardware-Fehler des Computers Mark 1 (Harvard-Universität) im Jahr 1945 zurück, der vermutlich durch eine Motte ausgelöst worden war. Sie war wohl zwischen zwei Relaiskontakte geraten und hatte einen Kurzschluss verursacht. Tatsächlich war der Begriff schon früher, mindestens seit 1890, im englischen Sprachraum in ähnlicher Bedeutung gebräuchlich. Bug bezeichnete damals eine Fehlfunktion eines Geräts oder einen Fehler im Betrieb eines Geräts.

Im Englischen unterscheidet man zwischen Error und Bug, wobei Error einen Fehler in einem (Rechen-)Vorgang oder einer Operation darstellt und ein Bug ein Fehler im Programm selbst ist.

Heute steht ein Bug am häufigsten in Zusammenhang mit Programmierfehlern. In praktisch allen auf dem Markt erhältlichen Programmen befindet sich noch eine Vielzahl von – meist weniger bedeutenden – Fehlern. Ihre Auswirkungen werden oft bei der nächsten Programmversion behoben oder abgemildert. Bei populären, in großen Stückzahlen verkauften Programmen oder bei schwerwiegenden Bugs geben die Hersteller manchmal korrigierte Programmteile, Patches oder Service Packs, heraus. Ein wegen schwerer Bugs herausgegebenes, bereinigtes Update eines Programms wird oft Bugfix genannt.

Das Wort Bug hat sich auch in der Fehlersuche und Fehlerbehebung beim Programmieren erhalten. Man nennt diesen Korrekturvorgang Debuggen (dt. »entwanzen«). Meist stellt die Programmierumgebung Hilfsmittel zur Fehlersuche zur Verfügung, die in ihrer Gesamtheit als Debugger bezeichnet werden.

Theoretisch ist es möglich, alle Bugs in einem Programm aufzuspüren und zu beseitigen. Doch da man dazu die Richtigkeit aller Verzweigungen überprüfen müsste, wäre dies ein sehr langwieriges Unterfangen. Viele Fehler machen sich außerdem nur in ganz speziellen Fällen bemerkbar und sind daher schwer zu finden. Auf der anderen Seite erfolgt die Programmentwicklung häufig unter Zeitdruck. Oft bleibt nicht einmal die Zeit, bekannte, weniger schwere Bugs zu eliminieren. Die Anwender werden also weiter mit Bugs leben müssen.