We present a proof calculus and method for the static verification of assertions and procedure specifications in shared-memory con-current programs. The key idea in our approach is to use atom-icity as a proof tool and to simplify the verification of assertions by rewriting programs to consist of larger atomic actions. We pro-pose a novel, iterative proof style in which alternating use of ab-straction 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 rea-soning within atomic blocks, or significantly simplified application of existing concurrent program verification techniques such as the Owicki-Gries or rely-gu...
Computer programs are an indispensable part of many of the systems we rely upon in our daily lives, ...
Modern concurrent and distributed software is highly complex. Techniques to reason about the correct...
In this paper we introduce an abstract algebra for reasoning about concurrent programs, that include...
Most proof methods for reasoning about concurrent programs are based upon the interleaving semantics...
Abstract—Transactional memory (TM) provides an easy-using and high-performance parallel programming ...
Distributed programs are particularly vulnerable to software faults. Bugs in these programs are usua...
We present a theorem for deriving properties of a concurrent program by reasoning about a simpler, ...
International audienceWe consider the verified compilation of high-level managed languages like Java...
159 p.Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1985.The concept of an indivisible...
Atomicity (or linearizability) is a commonly used consistency criterion for distributed services an...
SIGLEAvailable from British Library Document Supply Centre- DSC:D40970/82 / BLDSC - British Library ...
Atomicity (or linearizability) is a commonly used consistency criterion for distributed services and...
Abstract. Atomicity (or linearizability) is a commonly used consistency criterion for distributed se...
This thesis explores two kinds of program logics that have become important for modern program verif...
In concurrent programming, non-blocking synchronization is very efficient but difficult to design co...
Computer programs are an indispensable part of many of the systems we rely upon in our daily lives, ...
Modern concurrent and distributed software is highly complex. Techniques to reason about the correct...
In this paper we introduce an abstract algebra for reasoning about concurrent programs, that include...
Most proof methods for reasoning about concurrent programs are based upon the interleaving semantics...
Abstract—Transactional memory (TM) provides an easy-using and high-performance parallel programming ...
Distributed programs are particularly vulnerable to software faults. Bugs in these programs are usua...
We present a theorem for deriving properties of a concurrent program by reasoning about a simpler, ...
International audienceWe consider the verified compilation of high-level managed languages like Java...
159 p.Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1985.The concept of an indivisible...
Atomicity (or linearizability) is a commonly used consistency criterion for distributed services an...
SIGLEAvailable from British Library Document Supply Centre- DSC:D40970/82 / BLDSC - British Library ...
Atomicity (or linearizability) is a commonly used consistency criterion for distributed services and...
Abstract. Atomicity (or linearizability) is a commonly used consistency criterion for distributed se...
This thesis explores two kinds of program logics that have become important for modern program verif...
In concurrent programming, non-blocking synchronization is very efficient but difficult to design co...
Computer programs are an indispensable part of many of the systems we rely upon in our daily lives, ...
Modern concurrent and distributed software is highly complex. Techniques to reason about the correct...
In this paper we introduce an abstract algebra for reasoning about concurrent programs, that include...