Modular programming and modular verification go hand in hand, but most existing logics for concurrency ignore two crucial forms of modularity: higher-order functions, which are essential for building reusable components, and granularity abstraction, a key technique for hiding the intricacies of fine-grained concurrent data structures from the clients of those data structures. In this paper, we present CaReSL, the first logic to support the use of granularity abstraction for modular verification of higher-order concurrent pro-grams. After motivating the features of CaReSL through a variety of illustrative examples, we demonstrate its effectiveness by using it to tackle a significant case study: the first formal proof of (partial) correctness...
Synchronisation constructs lie at the heart of any reliable concurrent program. Many such constructs...
AbstractIntel has announced that in future each standard computer chip will contain many processors ...
In this paper, we develop a novel verification technique to reason about programs featuring concurre...
In this thesis I show is that it is possible to give modular correctness proofs of interesting highe...
Compared to coarse-grained external synchronization of operations on data structures shared between ...
Compared to coarse-grained external synchronization of operations on data structures shared between ...
Recent program logics based on separation logic emphasise a modular approach to proving functional c...
Efficient concurrent programs and data structures rarely employ coarse-grained synchronization mecha...
Proving correctness of distributed or concurrent algorithms is a mind-challenging and complex proces...
When using a proof assistant to reason in an embedded logic – like separation logic – one cannot ben...
Verification of concurrent systems is difficult because of the inherent nondeterminism. Modern verif...
We present a lightweight approach to Hoare-style specifications for fine-grained concurrency, based ...
Efficient concurrent programs and data structures rarely em-ploy coarse-grained synchronization mech...
. We propose a specification language for shared-variable concurrent programs based on Morgan's...
Abstract. Separation Logic is a recent development in programming logic which has been applied by Pe...
Synchronisation constructs lie at the heart of any reliable concurrent program. Many such constructs...
AbstractIntel has announced that in future each standard computer chip will contain many processors ...
In this paper, we develop a novel verification technique to reason about programs featuring concurre...
In this thesis I show is that it is possible to give modular correctness proofs of interesting highe...
Compared to coarse-grained external synchronization of operations on data structures shared between ...
Compared to coarse-grained external synchronization of operations on data structures shared between ...
Recent program logics based on separation logic emphasise a modular approach to proving functional c...
Efficient concurrent programs and data structures rarely employ coarse-grained synchronization mecha...
Proving correctness of distributed or concurrent algorithms is a mind-challenging and complex proces...
When using a proof assistant to reason in an embedded logic – like separation logic – one cannot ben...
Verification of concurrent systems is difficult because of the inherent nondeterminism. Modern verif...
We present a lightweight approach to Hoare-style specifications for fine-grained concurrency, based ...
Efficient concurrent programs and data structures rarely em-ploy coarse-grained synchronization mech...
. We propose a specification language for shared-variable concurrent programs based on Morgan's...
Abstract. Separation Logic is a recent development in programming logic which has been applied by Pe...
Synchronisation constructs lie at the heart of any reliable concurrent program. Many such constructs...
AbstractIntel has announced that in future each standard computer chip will contain many processors ...
In this paper, we develop a novel verification technique to reason about programs featuring concurre...