Share this page
Share this page E-mail this page Print this page RSS feeds
Home > Publications > A calculus of atomic actions
A calculus of atomic actions

We present a proof calculus and method for the static verification

of assertions and procedure specifications in shared-memory

concurrent programs. The key idea in our approach is to use

atomicity as a proof tool and to simplify the verification of

assertions by rewriting programs to consist of larger atomic

actions. We propose a novel, iterative proof style in which

alternating use of abstraction and reduction is exploited to compute

larger atomic code blocks in a sound manner. This makes possible

the verification of assertions in the transformed program by simple

sequential reasoning within atomic blocks, or significantly

simplified application of existing concurrent program verification

techniques such as the Owicki-Gries or rely-guarantee methods. Our

method facilitates a clean separation of concerns where at each

phase of the proof, the user worries only about only either the sequential

properties or the concurrency control mechanisms in the

program. We implemented our method in a tool called QED. We

demonstrate the simplicity and effectiveness of our approach on a

number of benchmarks including ones with intricate concurrency

protocols.

popl09.pdf
PDF file

In: ACM Symposium on Principles of Programming Languages

Publisher: Association for Computing Machinery, Inc.
Copyright © 2007 by the Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Publications Dept, ACM Inc., fax +1 (212) 869-0481, or permissions@acm.org. The definitive version of this paper can be found at ACM’s Digital Library --http://www.acm.org/dl/.

Details

Type: Inproceedings
Pages: 14