Bug – błąd, usterka programu komputerowego, która powoduje jego nieprawidłowe działanie. Wynika z błędu człowieka na jednym z etapów projektowania lub tworzenia oprogramowania. Zazwyczaj błędy mają miejsce podczas pisania kodu źródłowego.
Wyróżnia się trzy główne typy błędów:
- Błędy składniowe – są wykrywane przez kompilator i najczęściej dość łatwe do usunięcia. Zazwyczaj wynikają z drobnych pomyłek programisty.
- Błędy semantyczne (znaczeniowe) – zazwyczaj są one trudniejsze do zdiagnozowania. Często wynikają z nieznajomości kolejności wykonywania działań przy zapisaniu algorytmu.
- Błędy logiczne – znacznie trudniejszy do wykrycia i usunięcia. Błąd często tkwi w jednym źle zapisanym znaku.
Istnieją programy pomagające diagnozować i usuwać błędy – tzw. debuggery.
