erroneous program

{{Afd-merge to|Undefined behavior|Erroneous program|11 March 2025}}

{{one source |date=April 2024}}

In the design of programming languages, an erroneous program is one whose semantics are not well-defined, but where the language implementation is not obligated to signal an error either at compile or at execution time. For example, in Ada:

:In addition to bounded errors, the language rules define certain kinds of errors as leading to erroneous execution. Like bounded errors, the implementation need not detect such errors either prior to or during run time. Unlike bounded errors, there is no language-specified bound on the possible effect of erroneous execution; the effect is in general not predictable.Ada Reference Manual ISO/IEC 8652:1995(E) [http://www.adaic.org/standards/1zrm/RM-Final.pdf pdf]{{Dead link|date=August 2019 |bot=InternetArchiveBot |fix-attempted=yes }}, section 1.1.5.

Defining a condition as "erroneous" means that the language implementation need not perform a potentially expensive check (e.g. that a global variable refers to the same object as a subroutine parameter) but may nonetheless depend on a condition being true in defining the semantics of the program.

Notes