Definition Bug Was ist ein Bug?

Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Peter Schmitz

Ein Bug ist ein Fehler im Programmcode einer Software. Er hat unterschiedliche Auswirkungen, die von unerwünschtem Verhalten bis zur kompletten Fehlfunktion einer Anwendung oder eines per Software gesteuerten Geräts führen. Schon in der Entwicklungsphase versuchen Programmierer Bugs zu finden und zu beseitigen. Das Beheben eines Bugs wird als Bugfixing bezeichnet.

Firma zum Thema

Ein Bug ist ein Fehler im Programmcode einer Software.
Ein Bug ist ein Fehler im Programmcode einer Software.
(Bild: gemeinfrei / Pixabay )

Bug ist eine im IT-Umfeld gängige Bezeichnung für einen Fehler im Programmcode einer Software. Wörtlich übersetzt bedeutet "Bug" "Käfer", "Insekt" oder "Krabbeltier". Der Begriff leitet sich nach einigen Quellen von einem Vorfall aus den 1940er-Jahren ab, bei dem Insekten in Form von Motten bei zum Teil noch mechanisch arbeitenden Computern die Funktionsfähigkeit von Relais störten. In den letzten Jahrzehnten hat sich der Begriff als eine Art bildlicher Ausdruck für verschiedene Arten von Programmfehlern etabliert.

Bugs haben unterschiedliche Auswirkungen von unerwünschtem Verhalten über Fehler in der Programmausgabe bis zur kompletten Fehlfunktion einer Anwendung oder eines per Software gesteuerten Geräts. In der Regel handelt es sich bei den Bugs nicht um einfache Syntaxfehler, sondern um logische Fehler im Programmcode. Von Bugs können Anwendungen, Betriebssysteme, Hardware-Treiber, Services, Web-Dienste, Anlagensteuerungen und andere softwarebasierte Systeme betroffen sein. Die Erfassung und Dokumentation von Bugs findet mit Hilfe sogenannter Bugtracker statt.

Die verschiedenen Arten von Bugs

Je nach Typ, Auftreten und Auswirkung eines Bugs werden verschiedene Arten unterschieden. Ein funktionaler Bug ist ein Programmfehler, der Auswirkungen auf bestimmte Funktionen eines Programms hat. Laufzeit-Bugs treten während des sequentiellen Ablaufs des Programmcodes auf und betreffen die Programmlogik. Design-Bugs sind grundlegende Fehler bereits im Design des Grundkonzepts einer Software. Eine weitere Art von Bug ist der Regressions-Bug. Er tritt nach einem schon erfolgten Bugfixing in einer späteren Programmversion erneut auf. Darüber hinaus existieren Bugs, die die Bedienoberfläche oder die Darstellung betreffen.

Mögliche Folgen eines Bugs

Die Folgen der verschiedenen Arten von Bugs sind vielfältig. Sie reichen von leichten Fehlfunktionen oder unerwünschtem Verhalten über plötzlich auftretende Programmabstürze bis zur kompletten Fehlfunktion und Nicht-Nutzbarkeit einer Software oder Anwendung. Unter Umständen sind die Auswirkungen gravierend, wenn Geräte oder Maschinen mit einer Bug-behafteten Software gesteuert werden. Dies kann beispielsweise zum komplettem Ausfall von Produktionsanlagen, zu Abstürzen von Flugzeugen oder zu Unfällen beim autonomen Fahren führen und Menschenleben kosten oder immense wirtschaftliche Schäden verursachen.

Suche nach Bugs und Behebung durch einen Bugfix

Aufgrund der negativen Folgen eines Bugs wird schon in der Entwicklungsphase versucht, Programmfehler zu finden, zu beheben und zu minimieren. Hierfür kommen beispielsweise Debugger oder spezielle Tools zur Code-Analyse und zur Identifizierung von Fehlern im Programmcode zum Einsatz. Darüber hinaus nutzen Unternehmen häufig sogenannte Bug-Bounty-Programme zum Finden von Fehlern oder Schwachstellen in Software. Diese Programme belohnen den Finder eines Fehlers mit Geld- oder Sachpreisen. Das Beheben der Fehler findet mit Hilfe sogenannter Bugfixes oder Patches statt. Bugfixes sind installierbare Softwarepakete, die den Fehler im betroffenen Programmteil einer Software beseitigen. Von einem Hotfix spricht man, wenn es sich um einen sehr dringlichen und wichtigen Bugfix handelt.

(ID:47614411)

Über den Autor