Programvarefeil

En programvarefeil (populært kalt bug, fra engelsk, eller programlus, bugg eller bøgg på norsk) er en tilstand eller feil i et dataprogram som trenger korreksjon. Disse feilene eller tilstandene gir et resultat eller oppførsel som enten ikke var tiltenkt eller som opprinnelig var ønsket, men som nå skal endres.

Når en bug opptrer som en programvarefeil er de syntaktisk korrekt, men medfører en kjøretidsfeil. Dette fører til at det som oftest ikke finnes verktøy som automatisk finner feilene, slik som ved syntaksfeil hvor feil påvises under kompilering av program.

Når en bug opptrer som en uønsket tilstand i et program vil det ofte finnes et tilsvarende endringsforslag. Under programvareutvikling blir gjerne endringsforslag sporet som om de var programvarefeil i feilrapporteringssystem slik som Bugzilla og Jira, mens de i større driftsmiljøer blir sporet som endringsforslag i egne configuration management databases (CMDB).

Det var en bug som var skyld i at Ariane 5s flight 501 ble mislykket. I dette tilfellet medførte en kjøretidsfeil en feiltilstand på grunn av en integer overflow og en større feilrapport ble lagd og sendt over en intern databuss. Det igjen gjorde at andre viktige data ikke ble overført og raketten kom ut av kontroll. Som resultat av det ble rakettens selvødeleggelsessystem utløst. Feilen er kjent som en av historiens dyreste programvarefeil.

Etymology

Det engelske ordet «bug» kommer fra den elektriske datamaskinens barndom, da lyset fra radiorørene som drev maskinene tiltrakk seg insekter («bugs») som kunne kortslutte kretser i maskinen og måtte fjernes manuelt.

Se også 
 Avlusing

Referanser 

Programvareutvikling
Feil