Nell’ambito informatico e dello sviluppo software, il termine debug o debugging indica l’attività che consiste nell’individuazione e nella correzione da parte del programmatore di uno o più errori (definiti per l’appunto “bug”) rilevati nel software.
La correzione dei bug può avvenire sia in fase di programmazione che in seguito. L’attività di debugging è una delle operazioni più difficili per un programmatore, sia per la complessità dei software in uso che per il pericolo di introdurre nuovi errori nel tentativo di correggere quelli già esistenti. L’attività di debug si snoda in cinque fasi principali: identificazione del bug; individuazione del componente in cui è presente il bug; individuazione della causa del bug; progettazione di una correzione per il bug; implementazione e testing della suddetta correzione.
Gli errori di programmazione sono suddivisi essenzialmente in tre categorie: errori di sintassi, errori in esecuzione o di runtime, errori di logica.