Некоторые типы багов в программном обеспечении:
- Синтаксические. 14 Возникают, когда допущена опечатка в коде или забыта фигурная скобка, не поставлена точка с запятой. 4 Такие баги легко исправить на этапе компиляции. 2
- Логические. 24 Приводят к изменению функционирования программы вопреки техническому заданию. 2 Например, пользователь жмёт по кнопке «Выйти», а попадает в меню регистрации. 4
- Компиляционные. 2 Происходят, когда код, написанный на языке высокого уровня, преобразуют в «простой», машиночитаемый. 2 Причиной может служить как серьёзная ошибка в синтаксисе, так и сбои в самом компиляторе. 2
- Среды выполнения (ошибки Run-Time). 2 Проявляются в скомпилированных программах, при запуске. 2 Например, из-за нехватки ресурсов на машине, в результате аварийной ситуации (поломка памяти, носителя, устройств ввода-вывода). 2
- Арифметические. 2 Происходят, когда программа при работе вычисляет массу переменных, но на каком-то этапе происходит непредвиденное. 2 Например, деление на ноль или же приложение получает «бесконечный» результат. 2
- Ресурсные. 2 Преимущественно к этой категории относят ошибки типа «переполнение буфера». 2 Например, программист не учёл необходимость очистки памяти перед размещением новых данных. 2
Также выделяют разнородные ошибки, которые включают в себя проблемы с производительностью или совместимостью. 4 Например, приложение работает на одной операционной системе, но не работает на другой. 4