Jade is a language designed to support coarse-grain parallelism on both shared and distributed addressspace machines. Jade is data-oriented: a Jade programmer simply augments a se...
Abstract. We study the problem of determining, given a run of a concurrent program, whether there is any alternate execution of it that violates atomicity, where atomicity is defin...
Azadeh Farzan, P. Madhusudan, Francesco Sorrentino
We study a family of implementations for linked lists using finegrain synchronisation. This approach enables greater concurrency, but correctness is a greater challenge than for ...
Viktor Vafeiadis, Maurice Herlihy, Tony Hoare, Mar...
The combination of message passing and locking to protect shared state is a useful concurrency pattern. However, programs that employ this pattern are susceptible to deadlock. That...
We have implemented parallelism primitives that permit an ACL2 programmer to parallelize execution of ACL2 functions. We (1) introduce logical definitions for these primitives, (...