
Je hebt het waarschijnlijk al eerder gehoord: er zit een “bug” in de software, waardoor iets niet goed werkt of zich misdraagt. Wat is precies een computerbug en waar komt de term vandaan? We zullen het uitleggen.
Een bug is een onbedoelde fout in computersoftware
Een “computerbug” of “softwarefout” is een term voor een onbedoelde programmeerfout of defect in computersoftware of hardware. Bugs ontstaan door menselijke fouten in hardwareontwerpen of ergens in de keten van softwaretools die worden gebruikt om computertoepassingen, firmware of besturingssystemen te maken.
Een softwarefout ontstaat wanneer een programmeur een fout maakt tijdens het schrijven van de software of code schrijft die werkt maar onbedoelde gevolgen heeft die de programmeur niet had voorzien. Het verwijderen van bugs uit software wordt “debugging” genoemd.

In de huidige softwaregestuurde wereld zijn bugs een serieuze zaak. Bijna 20 jaar geleden schatte het National Institute of Standards and Technology dat softwarefouten de Amerikaanse economie jaarlijks bijna $ 60 miljard kosten (ongeveer 0,6% van het BBP in 2002), een aantal dat sindsdien waarschijnlijk is toegenomen. Hoewel het moeilijk is om de negatieve effecten van bugs nauwkeurig te kwantificeren, is het gemakkelijk voor te stellen hoe slecht functionerende software de productiviteit kan beïnvloeden. Het kan zelfs levens in gevaar brengen op het gebied van transport of vitale infrastructuur zoals elektriciteitscentrales in gevaar brengen.
Waarom noemen we ze bugs?
De term ‘bug’ dateert van vóór de uitvinding van computers, en we weten eigenlijk niet wie de term ‘bug’ oorspronkelijk heeft bedacht om te verwijzen naar een technisch defect. In geschreven verslagen hebben historici het op zijn vroegst teruggevoerd tot Thomas Edison in de jaren 1870.

Edison gebruikte de term in zijn persoonlijke aantekeningen en correspondentie om een moeilijk probleem aan te duiden dat moest worden opgelost of een technisch defect dat moest worden verholpen. Hij maakte zelfs grapjes over de term die verband houdt met insecten, en schreef in een brief uit 1878:
“Je had deels gelijk, ik vond wel een ‘bug’ in mijn toestel, maar niet in de telefoon zelf. Het was van het geslacht ‘callbellum’. Het insect lijkt voorwaarden voor zijn bestaan te vinden in alle oproepapparatuur van telefoons.”
Hoewel sommigen Edisons voorbeelden nemen om te betekenen dat hij de term ‘bug’ bedacht, is het mogelijk dat het eerder van iemand anders afkomstig was en dat hij de term alleen maar populair maakte onder zijn technische vrienden en medewerkers. De Oxford English Dictionary citeert een voorbeeld uit 1889 met betrekking tot Edison waarin een insect wordt beschreven als een metafoor voor een insect dat in een apparaat kruipt en het defect maakt, wat suggereert dat een echt insect dat precies dat doet de term oorspronkelijk zou hebben geïnspireerd, vergelijkbaar met de term “vlieg in de zalf.”

Door het woord ‘bug’ even terzijde te schuiven, was Ada Lovelace de eerste bekende persoon in de geschiedenis die zich realiseerde dat software mogelijk niet goed werkt als gevolg van programmeerfouten. Ze schreef al in 1843 over het probleem in haar commentaar op Charles Babbage’s Analytical Engine.
“Hierop kan worden geantwoord dat er evengoed een analyseproces moet zijn uitgevoerd om de Analytical Engine te voorzien van de nodige operatief gegevens; en dat hierin ook een mogelijke bron van fouten kan liggen. Toegegeven dat het eigenlijke mechanisme feilloos is in zijn processen, kaarten kan het verkeerde bevelen geven.”
In dit citaat verwijst Lovelace naar het feitelijke rekenmechanisme dat foutloos is in de manier waarop het gegevens verwerkt, maar stelt dat de gegevens die door mensen worden ingevoerd (zoals destijds op kaarten geprogrammeerd) de machine de verkeerde instructies zouden kunnen geven en dus de verkeerde resultaten opleveren.
Hoe zit het met de vlinder van Grace Hopper?
Decennia lang hebben boeken, tijdschriften en websites ten onrechte gemeld dat de term ‘bug’ werd bedacht door de legendarische computerwetenschapper Grace Hopper toen een mot in de relais van de Harvard Mark II-computer vloog en ervoor zorgde dat deze defect raakte. Zoals het verhaal gaat, plakte ze de mot vervolgens in een logboek en schreef ze een historische notitie: “Eerste echte geval van bug gevonden.”

Hoewel er in 1947 echt een mot in de Mark II vloog, was het niet de inspiratie voor de termen ‘bug’ of ‘debug’, die beide dateren van vóór het incident. Het is ook niet helemaal duidelijk dat de mot de computer daadwerkelijk heeft laten werken, alleen dat het een grappige vondst was terwijl ze andere defecten aan het repareren waren. Hopper maakte het verhaal beroemd door het te vertellen in een veel geciteerd interview in november 1968:
“Wanneer we waren Mark II aan het debuggen, het wals over in een ander gebouw, en de ramen hadden geen schermis op hen en we waren er mee bezig nacht, natuurlijk, en al de beestjes in de world came in. En op een avond viel ze uit, en we gingen op zoek naar de bug en vonden een werkelijke grote moth, ongeveer tien centimeter vleugel span, in een van de relais doodgeslagenh, en we hebben het eruit gehaald end zet het in het logboek en plakte er plakband overheen, en voor zover… ik weet hetw, dat’is nog steeds in het historische logboek op Harvard (we hebben een echte bug gevonden in de computter).”
Hopper vond het verhaal grappig omdat haar team, na vaak op bugs in de computer te hebben gezocht (zoals in hardware- en softwaredefecten), eindelijk een echt, letterlijk insect in de computer had gevonden. Vandaar de inscriptie: “Eerste geval van bug gevonden.”
(Een interessant terzijde, Hopper beschrijft de Mark IV-mot als “doodgeslagen”, waarschijnlijk vanwege de schade door vast te komen zitten in de beweging van de elektromechanische relais van de computer, wat suggereert dat de computer bleef functioneren terwijl de mot erin zat. )

Historici weten niet of het Hopper’s logboek was, of wie het daadwerkelijk schreef, maar vandaag bevindt het Harvard Mark II-logboek zich in het National Museum of American History in het Smithsonian in Washington, DC
Hoewel de Mark II-mot (laten we hem ‘Mark’ noemen) niet de eerste computerbug was, blijft hij toch bestaan als een fysiek en cultureel symbool van een zeer reëel en moeilijk probleem waar alle programmeurs mee worstelen, en het is iets dat we allemaal zullen nog jaren mee te maken hebben. Geef me nu de insectenspray, wil je?