Errore software, è un problema in un programma per computer o in un sistema software che attiva un risultato indesiderato. I programmi che aiutano nel rilevamento e nell'eliminazione degli errori di programmazione del software sono chiamati debugger. I numerosi incidenti degni di nota causati da questo tipo di errore includono la distruzione nel 1962 della sonda spaziale Mariner 1.1 nel 1996, l'Ariane 5 5012 e nel 2015 l'Airbus A400M.3.
Nel 1967, i creatori di Mak III segnalarono il primo caso di errore del computer causato da un bug. Il Mark III, il computer successore dell'ASCC Mark II, costruito nel 1944, subì un guasto del relè elettromagnetico. Quando questo relè è stato esaminato, è stata trovata una falena (bug) che ha causato il relè di rimanere aperto. Grace Murray Hopper, un importante matematico e fisico che ha lavorato come programmatore su Mark II, ha registrato l'insetto nel diario di bordo.
Questo incidente è erroneamente indicato come l'origine dell'uso della parola inglese bug ("bug") per indicare un problema in un dispositivo o sistema.5 6 In effetti, il termine bug faceva già parte della lingua inglese, almeno poiché Thomas Alva Edison lo usò nel 1889 per quanto riguarda interferenze e malfunzionamenti. Hopper potrebbe averlo associato per la prima volta al computer, in questo caso a un bug reale. D'altra parte, sebbene negli anni '50 Hopper usasse anche il termine debug in inglese quando discuteva il debug nei codici di programmazione, il primo uso registrato del termine si trova nel Journal of the Royal Aeronautical Society 1945.
In caso di errore, è una parola usata da tutti coloro che hanno conoscenze nel campo dell'informatica. Questa parola in inglese, la traduzione letterale è "bug", viene utilizzata per denominare gli errori che si verificano in un programma per computer.
Si genera un errore nella programmazione del progetto del software e, a un certo punto, si manifesta all'utente. Alcuni errori comuni sono l'inclusione di variabili che non sono state inizializzate al momento preciso, la cattiva indicizzazione delle tabelle in un database, la creazione di un ciclo infinito, l'uso di caratteri difficili da leggere o la scelta di colori che confondere gli utenti.