A Guide to Undefined Behavior in C and C++, Part 1 β Embedded in Academia
Programming languages typically make a distinction between normal program actions and erroneous actions. For Turing-complete languages we cannot reliably decide offline whether a program has the potential to execute an error; we have to just run it and see.