In informatica un bug è un errore che si manifesta in un software. Esso può essere più o meno grave, dal semplice comportamento errato di una porzione di codice fino al crash del programma stesso. Se poi il bug affligge un software vitale del sistema ed è particolarmente serio, può compromettere anche la sicurezza del computer stesso. Particolarmente noti sono gli attacchi web che sfruttano bug nel codice dei server che ospitano i siti internet. Ma da dove viene il termine “bug” che, letteralmente, significa “baco“?
Il termine inizia ad essere utilizzato nel XIX secolo in ambito ingegneristico: Thomas Edison, in una lettera del 1878, chiama “bug” i piccoli difetti di un apparato. Nel 1931 il Baffle Ball, il primo flipper meccanico, viene definito “esente da bachi”. Durante la II Guerra Mondiale i guasti occorsi agli equipaggiamenti venivano etichettati dai Marine americani col termine “bug”.
Ma è nel 1947 che il “baco” entra nel mondo dei computer. Il 9 settembre alcuni operatori del laboratorio di computer della facoltà di Harvard si misero a controllare un Mark II che aveva iniziato a dare dei problemi. All’epoca i computer erano elettromeccanici e composti da diversi pannelli di relé: fu proprio controllando uno di questi relé che gli operatori trovarono una falena morta che ne aveva bloccato il funzionamento. Gli operatori recuperarono l’insetto e lo consegnarono a Grace Hopper, che lo fissò ad un foglio con del nastro per stilare il rapporto dell’intervento, annotando anche la famosa frase “primo caso di baco trovato”.
Da bug viene poi anche il termine “debug” per indicare l’azione di analisi e correzione dei problemi di un software.