A
Arne Vajhøj
Alexander said:The problem with a program provability that in real life, you only can
formulate complete requirements for small pieces of it. Like for a sort
algorithm, for some calculation, etc, etc. When you start to formulate usage
scenarios for an OS or interactive application, it's not quite possible to
write them down in a form that would be useful for formal proof. Modern
software operates in an environment so indeterministic and chaotic (its
input ispretty much white noise), that one would have very hard time trying
to mathematically prove that a program will do as specified.
There is definitely a difference between what is possible
in theory and what is practical/cost efficient.
Software engineering is not the only field where that
applies.
Arne