Abstract
In the late 1960’s, several researchers, in particular Floyd [45] and Hoare [63], advocated the idea of formally verifying algorithms and computer programs. The techniques developed involved formalisms that combine program text and logic, used within specially developed proof systems. Later works considered the addition of various programming constructs such as array variables and procedure calls [85] and concurrency [86, 108]. It was also suggested that such proof systems will be used in the opposite way: applying methods and tools related to deductive verification to develop provably correct programs from a given specification. A collection of powerful mechanized theorem provers have been developed recently (see a list of some of these tools at the end of this chapter). These can assist in obtaining correctness proofs and enforcing the correct use of deductive verification.
‘Please your Majesty,’ said the Knave, ‘I didn’t write it, and they can’t prove I did: there’s no name signed at the end.’
‘If you didn’t sign it,’ said the King, ‘that only makes the matter worse. You MUST have meant some mischief, or else you’d have signed your name like an honest man.’
‘That PROVES his guilt,’ said the Queen.
Lewis Carroll, Alice’s Adventures in Wonderland
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Further Reading
Two concise papers that survey the Hoare verification approach were written by K.R. Apt:
K.R. Apt, Ten years of Hoare’s logic: A survey, part I, Transactions on Programming Languages and Systems, 3 (4), 1981, 431–383.
K.R. Apt, Ten years of Hoare’s logic: A survey, part II: Nondeterminism, Theoretical Computer Science 28, 1984, 83–109.
There are several books on Hoare style deductive theorem proving, including
N. Francez, Program Verification, Addison Wesley, 1992.
K. R. Apt, E.-R. Olderog, Verification of Sequential and Concurrent Programs, Springer-Verlag, 1991 (second edition, 1997 ).
F.B. Schneider, On Concurrent Programming, Springer-Verlag, 1997.
The latter covers also the Manna-Pnueli style verification method. A comprehensive book on the temporal verification of safety properties is
Z. Manna, A. Pnueli, Temporal Verification of Reactive Systems: Safety, Springer-Verlag, 1995.
The book by Kräger also describes the temporal verification approach.
F. Kröger, Temporal Logic of Programs, EATCS Monographs on Theoretical Computer Science, Springer-Verlag, 1992.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2001 Lucent Technologies
About this chapter
Cite this chapter
Peled, D.A. (2001). Deductive Software Verification. In: Software Reliability Methods. Texts in Computer Science. Springer, New York, NY. https://doi.org/10.1007/978-1-4757-3540-6_7
Download citation
DOI: https://doi.org/10.1007/978-1-4757-3540-6_7
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4419-2876-4
Online ISBN: 978-1-4757-3540-6
eBook Packages: Springer Book Archive