В дизайне языков программирования ошибочная программа — это та, семантика которой не определена, но реализация языка не обязана сообщать об ошибке ни во время компиляции, ни во время выполнения. Например, в Ada :
Определение условия как «ошибочного» означает, что реализация языка не должна выполнять потенциально затратную проверку ( например , что глобальная переменная ссылается на тот же объект, что и параметр подпрограммы), но тем не менее может зависеть от истинности условия при определении семантики программы.