< Terug naar vorige pagina

Publicatie

Deadlock-free channels and locks

Boekbijdrage - Boekhoofdstuk Conferentiebijdrage

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 is, the execution may reach a state where each thread in a set waits for another thread in that set to release a lock or send a message. This paper proposes a modular verification technique that prevents deadlocks in programs that use both message passing and locking. The approach prevents deadlocks by enforcing two rules: (0) a blocking receive is allowed only if another thread holds an obligation to send and (1) each thread must perform acquire and receive operations in accordance with a global order. The approach is proven sound and has been implemented in the Chalice program verifier.
Boek: 19th European Symposium on Programming
Pagina's: 407 - 426
ISBN:978-3-642-11956-9
Jaar van publicatie:2010
BOF-keylabel:ja
IOF-keylabel:ja
Authors from:Higher Education
Toegankelijkheid:Open