Difetto nel software, derivante da un errore di programmazione, oppure introdotto deliberatamente per causare malfunzionamenti o danni come nel caso dei virus. In italiano viene spesso tradotto come baco o buco (di programmazione).
La correzione dei bug, nota come debugging, è una parte essenziale del processo di sviluppo software per garantire che i programmi funzionino correttamente e in modo affidabile.