Programvarefeil
En programvarefeil (populært kalt bug, fra engelsk, eller programlus,[1] bugg eller bøgg[2] 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.[3] 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
[rediger | rediger kilde]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å
[rediger | rediger kilde]Referanser
[rediger | rediger kilde]- ^ «På godt norsk – avløserord». Språkrådet. Besøkt 10. oktober 2022.
- ^ «bugg, bøgg – Bokmålsordboka». ordbokene.no (på norsk). Besøkt 13. september 2023.
- ^ J. L. Lions (19. juli 1996). «ARIANE 5 - Flight 501 Failure». Report by the Inquiry Board. Besøkt 12. oktober 2015. «The reason why the active SRI 2 did not send correct attitude data was that the unit had declared a failure due to a software exception.»