Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The characterization problem for Hoare logics
Clarke E.  Mathematical logic and programming languages (, London, UK,1061985.Type:Proceedings
Date Reviewed: Jun 1 1986

The use of Hoare axioms for the verification of programs has become widely accepted. But it has also turned out that there are programming language constructs for which no adequate Hoare axiom system can be found, i.e., no axiom system which is sound and relatively complete. The present paper sketches the state of the art in characterizing these languages or constructs. First, an absolute minimum of knowledge about Hoare systems is presented, including the notion of relative completeness. The usual notion of completeness is not adequate because it depends too much on the underlying assertion language which may be too weak to express loop invariants or whose proof system may be incomplete. The next section, therefore, explains the central notion of expressibility, which guarantees the existence of invariants for loops and recursive procedures. Expressive interpretations of the assertion language are used for the formulation of relative completeness.

The next section presents some programming language constructs for which no adequate Hoare system exists. The main reason for these incompletenesses is the undecidability of the halting problem for the corresponding programming language, even for finite interpretations. The following section presents Clarke’s characterization theorem which reduces the existence of an adequate Hoare system to the existence of an effective procedure that, for an expressive, Herbrand-definable (i.e., minimal) interpretation I, will decide which partial correctness assertions are true in I when given an oracle for the theory Th(I). A reasonably complete sketch of the proof is presented. Afterwards, the two main deficiencies of this characterization theorem are discussed: (1) the proof system produced is an enumeration procedure which clearly could not be used in practice, and (2) it is not syntax-directed, which was one of the most prominent benefits of Hoare’s original system. Section 7 (which is the central part of the paper) discusses some recent research on these problems and on two further topics: the total correctness problem (it seems that some languages may have good total correctness Hoare axioms although they do not possess good partial correctness axioms), and the adequacy or power of the notion of expressibility.

The paper is very clearly written and, as a whole, is well worth reading. The publication includes a transcript of a discussion on this paper with contributions by P. Azcel (Manchester), J. V. Tucker (Leeds) and J. C. Sheperdson (Bristol).

Reviewer:  H. A. Klaeren Review #: CR109708
Bookmark and Share
 
Mechanical Verification (F.3.1 ... )
 
 
Control Primitives (F.3.3 ... )
 
 
Control Structures (D.3.3 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Mechanical Verification": Date
Fast automatic liveness analysis of hierarchical parallel systems
Rohrich J.  Programming Languages and System Design (, Dresden, East Germany,271983. Type: Proceedings
Feb 1 1985
Mechanical proofs about computer programs
Good D.  Mathematical logic and programming languages (, London, UK,751985. Type: Proceedings
Feb 1 1986
Program transformations in a denotational setting
Nielson F. ACM Transactions on Programming Languages and Systems 7(3): 359-379, 1985. Type: Article
Dec 1 1986
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy