Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
A framework for testing first-order logic axioms in program verification
Ahn K., Denney E. Software Quality Journal21 (1):159-200,2013.Type:Article
Date Reviewed: Jun 4 2014

As model-driven code generators have increased in capability and in performance, so too has their use in mission-critical software development. One benefit of auto-generated code over handcrafted, individually created source code is that it is simpler to verify the code for mathematically specified requirements and for the absence of safety violations. Automatic theorem provers (ATPs) used to verify the program depend on user-provided axioms that encode domain-specific model information and knowledge used by the prover. The auto-generated code can be verified by the ATP, while the proofs provided by the ATP can be checked in a proof checker, which leaves the axioms as a potential source of unchecked errors and ultimately the potential cause of software failure.

In this paper, the authors propose an axiom verification framework to check that the axioms are correct and not unsound due to some implicit but incompatible interpretation. Within this framework, the tester is required to provide a computational model of the axiom logic by providing interpretations for function symbols within the Haskell programming language. The axioms are thus converted into executable functions within Haskell, and existing tools are used to both construct test data and evaluate the axioms for correctness. Failing axioms are provided with counterexamples from the framework.

After writing code for over two decades, I require no convincing of the benefits of early-stage testing. Any endeavors to improve testing and reduce software failure rates need to be applauded. My one criticism is that much of this paper may prove difficult to penetrate for readers outside the Haskell developer community.

Reviewer:  Bernard Kuc Review #: CR142356 (1409-0759)
Bookmark and Share
  Featured Reviewer  
 
Correctness Proofs (D.2.4 ... )
 
 
Haskell (D.3.2 ... )
 
 
Logic And Constraint Programming (F.4.1 ... )
 
 
Mechanical Theorem Proving (F.4.1 ... )
 
 
Mechanical Verification (F.3.1 ... )
 
 
Testing Tools (D.2.5 ... )
 
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