Fel programvara, är ett problem i ett datorprogram eller mjukvarusystem som utlöser en oönskad resultat. Program som hjälper till att upptäcka och ta bort programfel i programvara kallas felsökare. De många anmärkningsvärda incidenterna som orsakats av denna typ av fel inkluderar förstörelsen 1962 av Mariner 1.1 rymdsond 1996, Ariane 5 5012 och 2015 Airbus A400M.3.
1967 rapporterade skaparna av Mak III det första fallet av ett datorfel orsakat av ett fel. Mark III, den efterföljande datorn till ASCC Mark II, byggd 1944, drabbades av ett elektromagnetiskt reläfel. När detta relä undersöktes hittades en mal (bug) som orsakade att reläet förblev öppet. Grace Murray Hopper, en framstående matematiker och fysiker som arbetade som programmerare på Mark II, registrerade insekten i sin logg.
Denna händelse kallas felaktigt ursprunget till användningen av det engelska ordet bug (“bug”) för att indikera ett problem i en enhet eller ett system.5 6 I själva verket var termen bug redan en del av det engelska språket, åtminstone sedan Thomas Alva Edison använde den 1889 angående störningar och fel. Hopper kan först ha associerat det med datorer - i det här fallet relaterat till en riktig bugg. Å andra sidan, även om Hopper under 1950-talet också använde termen debug på engelska när han diskuterade debugging i programmeringskoder, finns den första inspelade användningen av termen i Journal of the Royal Aeronautical Society 1945.
Vid fel är det ett ord som används av alla som har kunskap inom datavetenskap. Detta ord på engelska, bokstavlig översättning är "bug", används för att namnge de fel som uppstår i ett datorprogram.
Ett fel genereras i programmeringen av programvarudesignen och vid något tillfälle manifesterar den sig för användaren. Några vanliga misstag är inkluderingen av variabler som inte initialiserades just nu, dålig indexering av tabeller i en databas, skapandet av en oändlig slinga, användningen av teckensnitt som är svåra att läsa eller valet av färger som förvirra användare.