Zum Inhalt springen

Datenrettung in Deutschland zum Festpreis!

100% kostenlose Analyse

Festpreis-Garantie

Wiederherstellung aller marktüblichen Datenträger

BugAls Bugs werden in der Computertechnik Programm– oder Softwarefehler bezeichnet, die zu einem unerwünschten bzw. unerwarteten Verhalten von Computerprogrammen führen. Die Bezeichnung Bug wird in Verbindung gebracht mit der Wissenschaftlerin Grace Murray Hopper (1906-1992), die eine tote Motte als Fehlerursache bei einem teilweise elektromechanischen Computer (Mark II) entdeckte.

Datenrettung zum Festpreis

Wir analysieren Defekte an allen gängigen Datenträgern aller Hersteller - kostenlos und unverbindlich.

Sie erhalten anschließend ein Festpreis-Angebot für die Wiederherstellung Ihrer Daten. Kosten fallen nur an, wenn Sie uns beauftragen und wir Ihre Daten retten können!

100% kostenlose Analyse anfordern!

Ursachen

Bugs können aus verschiedenen Gründen entstehen, wobei zum einen fehlerhafte Quell- oder Programmcodes dafür verantwortlich sein können, zum anderen entstehen einige auch dadurch, dass der Compiler einen falschen Code ausgibt. Außerdem können unvollständige, ungenaue oder mehrdeutige Ausdrücke in der Programmspezifikation zu Bugs führen. Manche Bugs haben nur einen sehr subtilen Effekt auf die Funktionalität eines Programms, weshalb sie über einen langen Zeitraum unentdeckt bleiben können.

Schwerwiegendere Bugs verursachen, dass ein Programm abstürzt oder der Bildschirm einfriert. Andere lassen sich als Sicherheits-Bugs einordnen und können beispielsweise Zugangsbeschränkungen außer Kraft setzen und Fremden ermöglichen unautorisierten Zugang zu Daten zu erhalten.

Folgen

Bugs können sehr folgenreiche Wirkungen nach sich ziehen, wie z.B. der Absturz eines Prototyps der Ariane-5-Rakete der Europäischen Raumfahrtbehörde am 4. Juni 1996 beweist. Aufgrund eines Softwarefehlers (Integer-Overflow) kam das Steuersystem der Rakete zum Erliegen und zerstörte sich eine Minute nach dem Start selbst.

Weitere Fehler sind:

Syntaxfehler: Verstöße gegen grammatikalische Regeln der jeweiligen Programmiersprache. Dies ist ein relativ harmloser Fehler, da moderne Editoren den Fehler bereits beim Verlassen der betroffenen Zeile den markieren. Falls nicht tritt spätestens beim Kompilieren eine Fehlermeldung auf.

Laufzeitfehler: Alle Arten von Fehlern, die während der sequentiellen Abarbeitung des Programms auftreten. Man spricht in diesem Fall auch von semantischen Fehlern, da der Laufzeitfehler die Programmlogik und damit die Bedeutung des Programmcodes betrifft. Ursachen können Programmfehler (Typfehler, ungetesteter Code), unerwartete Inputdaten (Division durch 0) oder Hardwarefehler sein. In selteneren Fällen lässt sich der Fehler auf eine ungeeignete Laufzeitumgebung (z.B. falsche Betriebssystem-Version) zurückführen. Die Auswirkungen eines Laufzeitfehlers variieren. Häufig führt er zu unerwünschtem Verhalten, im Extremfall sogar zum Absturz oder Hängen des Programms.

Designfehler: Als solche gelten Fehler im Grundkonzept der Implementierung, wie z.B. bei der Festlegung der Ansprüche an die Software. Diese beruhen oftmals auf einer mangelnden Kenntnis des Fachgebietes, für das die Software geschrieben wird oder auf Missverständnissen zwischen Nutzern und Entwicklern. Derartige Fehler vermehren sich je komplexer das zu implementierende Programm ist.

Regressionsbug: Ein Fehler, der nach einer bereits erfolgten Behebung, in einer neueren Programmversion erneut auftritt.

In der Praxis sind Computerprogramme, die keine Bugs enthalten sehr selten. Statistischen Erhebungen zu Folge finden sich durchschnittlich 3 Fehler pro 1000 Zeilen Code.

Vermeidung und Behebung von Bugs

Ein hilfreiches Werkzeug bei der Suche nach Ursachen für Bugs ist der sogenannte Debugger. Dieser erlaubt es, das Programm schrittweise zu durchlaufen. Dabei können nicht nur alle Maschinen- und Assemblerbefehle überprüft werden, sondern auch die hochsprachlichen Ausdrücke.

Je nach Entwicklungsphase eines Programms können bestimmte Maßnahmen zur Vermeidung angewendet werden. Zu den häufigsten Maßnahmen zählen die Prozessplanung, defensive Programmierung, Anwendung technischer Hilfswerkzeuge (Debugger, Assertions, Proof-Carrying Code) sowie das Testen. Die Beseitigung bzw. der Prozess der Beseitigung von Fehlern wird als bugfixing bezeichnet und werden entweder von Programmierern direkt im Quelltext vorgenommen oder dem Nutzer als Bugfix oder Patch angeboten.

Häufige Fragen und Antworten

Was sind Bugs in der Computertechnik?

Als Bugs werden in der Computertechnik Programm- oder Softwarefehler bezeichnet, die zu einem unerwünschten bzw. unerwarteten Verhalten von Computerprogrammen führen. Bugs können aus verschiedenen Gründen entstehen, zum Beispiel durch fehlerhafte Quell- oder Programmcodes, Compiler-Fehler oder ungenaue Ausdrücke in der Programmspezifikation. Einige Bugs haben nur subtile Auswirkungen und bleiben daher lange unentdeckt, während andere schwerwiegende Folgen haben können wie Programmabstürze oder Sicherheitslücken.

Welche Folgen können Bugs haben?

Bugs können sehr folgenreiche Wirkungen nach sich ziehen. Ein bekanntes Beispiel ist der Absturz eines Prototyps der Ariane-5-Rakete im Jahr 1996 aufgrund eines Softwarefehlers. Bugs können nicht nur dazu führen, dass ein Programm nicht wie erwartet funktioniert, sondern auch Sicherheitslücken erzeugen und unautorisierten Zugriff auf Daten ermöglichen. Die Auswirkungen eines Bugs hängen von der Art des Fehlers und des betroffenen Programms ab.

Wie können Bugs vermieden und behoben werden?

Um Bugs zu vermeiden, können verschiedene Maßnahmen ergriffen werden. Dazu gehören eine sorgfältige Prozessplanung, defensive Programmierung, der Einsatz technischer Hilfswerkzeuge wie Debugger und Assertions sowie umfangreiches Testen. Die Beseitigung von Fehlern, auch bugfixing genannt, kann entweder durch direkte Änderungen im Quelltext oder durch die Bereitstellung von Bugfixes oder Patches erfolgen. Ein hilfreiches Werkzeug bei der Suche nach Ursachen für Bugs ist der Debugger, der das schrittweise Durchlaufen des Programms ermöglicht.

Quelle für Ihr Zitat: Obenstehende Definition darf in kommerziellen und nicht kommerziellen Publikationen (somit auch in Hausarbeiten, Foren, Social Media Seiten) ohne Rückfrage zitiert werden. Kopieren Sie einfach den nachfolgenden Link für Ihr Zitat:

https://www.it-service24.com/lexikon/b/bug/

Bildnachweis: iStock.com/courtneyk