Abstract :
The author considers what it takes to develop truly reliable software systems, and what the role is of program verification in all this. One problem he focuses on is the difficulty of writing good specifications, particularly in making sure that those specifications are complete. Reality can be surprisingly good in showing that our painfully constructed software design requirements are incomplete or even incorrect.
Keywords :
formal specification; program verification; software fault tolerance; software reliability; fault intolerance; program verification; reliable software systems; software design requirements; specifications; Documentation; Encoding; Fault tolerance; Programming; Software engineering; Software reliability; reliable software systems; requirements; software engineering; software specification; software verification;