Il debug, o fase di debugging (letteralmente, "rimuovere i bachi", inteso come "insetti"), è l'attività di ricerca e correzione degli errori logici che si manifestano utilizzando un software.
Come si comprende facilmente, si tratta di un processo essenziale, secondo solo all'effettiva compilazione del programma, dal momento che migliora drasticamente l'usabilità e minimizza le possibilità di problemi derivanti dallo sfruttamento delle applicazioni.
L'azione è oggi svolta sia da "cacciatori" umani - programmatori specializzati e stipendiati dalle software house, ma anche semplici utenti che nel corso della loro interazione con i computer si trovano di fronte a difficoltà impreviste e le segnalano ai produttori - sia da correttori automatici appositamente calibrati.
Fortunatamente, per eseguire il debug di un'applicazione il programmatore può avvalersi del supporto di specifici software, chiamati appunto debuggers, che risultano essere veramente degli strumenti indispensabili quando si deve intervenire in casi di elevata complessità e criticità del software.
I più moderni ambienti di sviluppo integrati, o I.D.E. (Integrated Developement Environment), ormai ne sono equipaggiati e grazie a questi strumenti gli sviluppatori possono analizzare a runtime lo stato applicativo del software, fermandosi su ogni riga di codice e analizzando ogni variabile o chiamata di metodi e funzioni.
Il termine "debug" sembra risalire ai tempi dei primi calcolatori elettronici, grandi come interi magazzini e la cui componentistica consisteva in valvole e relais, che frequentemente rimanevano bloccati a causa di corto-circuiti elettrici causati da insetti (in lingua inglese bug) rimasti fulminati tra i contatti.
Il debugging era appunto l'azione svolta per individuare e riparare i punti in cui i contatti risultavano essere interrotti dagli insetti stecchiti.
Articolo a cura di mirkoagrati 14:27, Nov 29, 2009 (CET)