Even Simple Programs Are Hard To Analyze
Journal of the ACM (JACM)
An axiomatic basis for computer programming
Communications of the ACM
A Complete and Consistent Hoare Axiomatics for a Simple Programming Language
Journal of the ACM (JACM)
Proving the correctness of coroutines without history variables
ACM-SE 16 Proceedings of the 16th annual Southeast regional conference
The functional power of parameter passage mechanism
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
25 Years of Model Checking
A property based specification formalism classification
Journal of Systems and Software
Hi-index | 0.00 |
Hoare-like deduction systems for establishing partial correctness of programs may fail to be complete because of (a) incompleteness of the assertion language relative to the underlying interpretation or (b) inability of the assertion language to express the invariants of loops. S. Cook has shown that if there is a complete proof system for the assertion language (e.g. all true statements of the assertion language) and if the assertion language satisfies a certain natural expressibility condition, then sound and complete axiom systems for a fairly large subset of Algol may be devised. We exhibit programming language constructs for which it is impossible to obtain sound and complete sets of Hoare-like axioms even in this special sense of Cook's. These constructs include (i) recursive procedures with procedure parameters in a programming language which uses static scope of identifiers and (ii) coroutines in a language which allows parameterless recursive procedures. Modifications of these constructs for which it is possible to obtain sound and complete systems of axioms are also discussed.