Synchronisation constructs lie at the heart of any reliable concurrent program. Many such constructs are standard – e.g., locks, queues, stacks, and hash-tables. However, many concurrent applications require custom synchronisation constructs with special-purpose behaviour. These constructs present a significant challenge for verification. Like standard constructs, they rely on subtle racy behaviour, but unlike standard constructs, they may not have well-understood abstract interfaces. As they are custom-built, such constructs are also far more likely to be unreliable. This paper examines the formal specification and verification of custom synchronisation constructs. Our target is a library of channels used in automated parallelization to en...
In this thesis, we address the problem of verifying the functional correctness of concurrent program...
A method is presented for programming correct and efficient cooperation in a set of sequential modul...
Efficient concurrent programs and data structures rarely employ coarse-grained synchronization mecha...
Digital services are becoming an essential part of our daily lives. To provide these services, effic...
Compared to coarse-grained external synchronization of operations on data structures shared between ...
To improve performance, modern multiprocessors and pro- gramming languages typically implement relax...
In this paper we introduce an abstract algebra for reasoning about concurrent programs, that include...
We present a novel framework for automatic inference of efficient synchronization in concurrent prog...
AbstractConcurrent Separation Logic is a resource-sensitive logic for fault-free partial correctness...
AbstractConcurrent separation logic is a Hoare logic for modular reasoning about concurrent heap-man...
Recent program logics based on separation logic emphasise a modular approach to proving functional c...
Concurrent programming is a useful technique for structuring many important classes of applications...
Efficient concurrent programs and data structures rarely em-ploy coarse-grained synchronization mech...
AbstractWe present a trace semantics for a language of parallel programs which share access to mutab...
Abstract. Separation Logic is a recent development in programming logic which has been applied by Pe...
In this thesis, we address the problem of verifying the functional correctness of concurrent program...
A method is presented for programming correct and efficient cooperation in a set of sequential modul...
Efficient concurrent programs and data structures rarely employ coarse-grained synchronization mecha...
Digital services are becoming an essential part of our daily lives. To provide these services, effic...
Compared to coarse-grained external synchronization of operations on data structures shared between ...
To improve performance, modern multiprocessors and pro- gramming languages typically implement relax...
In this paper we introduce an abstract algebra for reasoning about concurrent programs, that include...
We present a novel framework for automatic inference of efficient synchronization in concurrent prog...
AbstractConcurrent Separation Logic is a resource-sensitive logic for fault-free partial correctness...
AbstractConcurrent separation logic is a Hoare logic for modular reasoning about concurrent heap-man...
Recent program logics based on separation logic emphasise a modular approach to proving functional c...
Concurrent programming is a useful technique for structuring many important classes of applications...
Efficient concurrent programs and data structures rarely em-ploy coarse-grained synchronization mech...
AbstractWe present a trace semantics for a language of parallel programs which share access to mutab...
Abstract. Separation Logic is a recent development in programming logic which has been applied by Pe...
In this thesis, we address the problem of verifying the functional correctness of concurrent program...
A method is presented for programming correct and efficient cooperation in a set of sequential modul...
Efficient concurrent programs and data structures rarely employ coarse-grained synchronization mecha...