PDF
(415KB)
Abstract
Read-write locking is an important mechanism to improve concurrent granularity, but it is difficult to reason about the safety of concurrent programs with read-write locks. Concurrent separation logic (CSL) provides a simple but powerful technique for locally reasoning about concurrent programs with mutual exclusive locks. Unfortunately, CSL cannot be directly applied to reasoning about concurrent programs with read-write locks due to the different concurrent control mechanisms.
This paper focuses on extending CSL and presenting a proof-carrying code (PCC) system for reasoning about concurrent programs with read-write locks. We extend the heap model with a writing permission set, denoted as logical heap, then define “strong separation” and “weak separation” over logical heap. Following CSL’s local-reasoning idea, we develop a novel program logic to enforce weak separations of heap between different threads and provide verification of concurrent programs with read-write locks.
Keywords
verification
/
concurrent separation logic
/
mutual exclusive locks
/
read-write locks
Cite this article
Download citation ▾
null.
Formal verification of concurrent programs with
read-write locks.
Front. Comput. Sci., 2010, 4(1): 65-77 DOI:10.1007/s11704-009-0067-6