## Errors, Errors, and More Errors

# Errors: Why We Care

Unlike many other forms of construction, **any** error in a computer program is potentially fatal.
There is no system which can prevent this.

To forestall so-called computer scientists saying that their restricted language(s) can prevent
this problem, remember Go"del's theorem, and shut up.
Any language which cannot contain nonsense cannot be a complete language.

If any portion of the construction of a program has a probability *p* of being correct,
the cumulative probablity of a correct program is *Pparts = ***P**{p_{i}}.

The probability of errors by interference is *Pinterf = ***P**Sum {pinterference_{(i,j)}}.

The total probability of errors is at least *1 - ((1 - Pparts) * (1 - Pinterf))*.

**The probability of an erroneous program is close to 1.**

The only effective way to approach correctness is to

1. Minimize the probability of any part of the program being faulty.

2. Maximize the probability that all parts work together.

3. Minimize the probability that no part interferes with another part.

4. Maximize the probability that the system executes the specified behavior.

5. Maximize the probability of detecting and correcting errors.

©2009 Geoff Steckel All Rights Reserved