Fout software, is een probleem in een computerprogramma of softwaresysteem dat een ongewenst resultaat veroorzaakt. Programma's die helpen bij het opsporen en verwijderen van programmeerfouten in de software, worden debuggers genoemd. De vele opmerkelijke incidenten die door dit soort fouten zijn veroorzaakt, zijn onder meer de vernietiging in 1962 van de Mariner 1.1 ruimtesonde in 1996, de Ariane 5 5012 en in 2015 de Airbus A400M.3.
In 1967 meldden de makers van Mak III het eerste geval van een computerfout veroorzaakt door een bug. De Mark III, de opvolger van de ASCC Mark II, gebouwd in 1944, leed aan een elektromagnetische relaisstoring. Bij onderzoek naar dit relais werd een mot (kever) gevonden waardoor het relais open bleef staan. Grace Murray Hopper, een vooraanstaand wiskundige en natuurkundige die als programmeur aan Mark II werkte, noteerde het insect in het logboek.
Dit incident wordt ten onrechte de oorsprong genoemd van het gebruik van het Engelse woord bug ("bug") om een probleem in een apparaat of systeem aan te duiden.5 6 In feite maakte de term bug al deel uit van de Engelse taal, althans sinds Thomas Alva Edison gebruikte het in 1889 met betrekking tot interferentie en storingen. Hopper heeft het misschien voor het eerst geassocieerd met computergebruik - in dit geval gerelateerd aan een echte bug. Aan de andere kant, hoewel Hopper in de jaren vijftig ook de term debug in het Engels gebruikte bij het bespreken van debugging in programmeercodes, is het eerste geregistreerde gebruik van de term te vinden in het Journal of the Royal Aeronautical Society 1945.
In het geval van een fout is het een woord dat wordt gebruikt door iedereen die kennis heeft op het gebied van informatica. Dit woord in het Engels, de letterlijke vertaling is "bug", wordt gebruikt om de fouten te noemen die optreden in een computerprogramma.
Er ontstaat een fout bij het programmeren van het softwareontwerp en op een gegeven moment manifesteert dit zich aan de gebruiker. Enkele veelvoorkomende fouten zijn het opnemen van variabelen die niet op het precieze moment werden geïnitialiseerd, het slecht indexeren van tabellen in een database, het creëren van een oneindige lus, het gebruik van moeilijk te lezen lettertypen of de keuze van kleuren die verwarren gebruikers.