Back to Search Start Over

Specification and Verification of Concurrent Programs Through Refinements

Authors :
Rob Sumners
Sandip Ray
Source :
Journal of Automated Reasoning. 51:241-280
Publication Year :
2012
Publisher :
Springer Science and Business Media LLC, 2012.

Abstract

We present a framework for the specification and verification of reactive concurrent programs using general-purpose mechanical theorem proving. We define specifications for concurrent programs by formalizing a notion of refinements analogous to stuttering trace containment. The formalization supports the definition of intuitive specifications of the intended behavior of a program. We present a collection of proof rules that can be effectively orchestrated by a theorem prover to reason about complex programs using refinements. The proof rules systematically reduce the correctness proof for a concurrent program to the definition and proof of an invariant. We include automated support for discharging this invariant proof with a predicate abstraction tool that leverages the existing theorems proven about the components of the concurrent programs. The framework is integrated with the ACL2 theorem prover and we demonstrate its use in the verification of several concurrent programs in ACL2.

Details

ISSN :
15730670 and 01687433
Volume :
51
Database :
OpenAIRE
Journal :
Journal of Automated Reasoning
Accession number :
edsair.doi...........ebaedfe608ac664ddad6c779fbd1633f
Full Text :
https://doi.org/10.1007/s10817-012-9258-1