Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Echo: a practical approach to formal verification
Strunk E., Yin X., Knight J.  Formal methods for industrial critical systems (Proceedings of the 10th International Workshop on Formal Methods for Industrial Critical Systems, Lisbon, Portugal, Sep 5-6, 2005)44-53.2005.Type:Proceedings
Date Reviewed: Jan 6 2006

“Practical” should be a word most welcome to formal methodists (out of whose way most software practitioners scurry so as not to get involved in “impractical, highfalutin math”). This paper’s authors show a way forward that renders formal verification less cumbersome, that is, more practical.

The ten-page paper begins with a correct and concise characterization of the Floyd-Hoare style of verification as “setting up a direct compliance argument between an abstract formal specification and a concrete implementation.” The authors point out that such direct compliance of implementation with specification engenders a large number of verification conditions (VCs). Such large numbers of VCs strain mechanized and human-assisted proofs of the VC collections, and can render rigorous verification out of practical reach.

The authors report success in addressing the VC explosion problem by means of moving “the major proof step to a point between two abstract specifications,” namely, the formal requirement/design specification and the implementation specification. In the following sketch of Echo’s flow, prototype verification system (PVS) denotes the specification and verification system of that name, and SPARK annotations denotes the Ada with annotations subset of the full Ada language.

  1. (1) PVS --> SPARK annotations --> PVS’
  2. (2) Proof that PVS’ ==> PVS
  3. (3) Verification that the Ada code (implementation) complies with the SPARK annotations.

Here, --> denotes transformation and ==> denotes implication. There is thus verification of both specification and implementation.

This well-written scientific summary of Echo will convince its readers of Echo’s soundness and promise.

Reviewer:  George Hacken Review #: CR132252 (0610-1056)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Correctness Proofs (D.2.4 ... )
 
 
Formal Methods (D.2.4 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Correctness Proofs": Date
Using symbolic execution for verification of Ada tasking programs
Dillon L. (ed) ACM Transactions on Programming Languages and Systems 22(6): 643-669, 2000. Type: Article
Jul 1 1991
Reasoning about programs (videotape)
Dijkstra E. (ed), University Video Communications, Stanford, CA, 1990. Type: Book
Dec 1 1992
Error-free software
Baber R., John Wiley & Sons, Inc., New York, NY, 1991. Type: Book (9780471930167)
May 1 1994
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