The rely-guarantee method for verifying shared variable concurrent programs
- 1 March 1997
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in Formal Aspects of Computing
- Vol. 9 (2) , 149-174
- https://doi.org/10.1007/bf01211617
Abstract
Compositional proof systems for shared variable concurrent programs can be devised by including the interference information in the specifications. The formalism falls into a category called rely-guarantee (or assumption-commitment) , in which a specification is explicitly (syntactically) split into two corresponding parts. This paper summarises existing work on the rely-guarantee method and gives a systematic presentation. A proof system for partial correctness is given first, thereafter it is demonstrated how the relevant rules can be adapted to verify deadlock freedom and convergence. Soundness and completeness, of which the completeness proof is new, are studied with respect to an operational model. We observe that the rely-guarantee method is in a sense a reformulation of the classical non-compositional Owicki & Gries method, and we discuss throughout the paper the connection between these two methods.Keywords
This publication has 16 references indexed in Scilit:
- The rely-guarantee method for verifying shared variable concurrent programsFormal Aspects of Computing, 1997
- Accommodating interference in the formal design of concurrent object-based programsFormal Methods in System Design, 1996
- Conjoining specificationsACM Transactions on Programming Languages and Systems, 1995
- The temporal logic of actionsACM Transactions on Programming Languages and Systems, 1994
- A method for the development of totally correct shared-state parallel programsPublished by Springer Nature ,1991
- A generalization of Owicki-Gries's Hoare logic for a concurrent while languageTheoretical Computer Science, 1988
- Proving total correctness of nondeterministic programs in infinitary logicActa Informatica, 1981
- Recursive assertions and parallel programsActa Informatica, 1981
- Soundness and Completeness of an Axiom System for Program VerificationSIAM Journal on Computing, 1978
- An axiomatic proof technique for parallel programs IActa Informatica, 1976