Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
438671 | Theoretical Computer Science | 2007 | 44 Pages |
Abstract
We present a trace semantics for a language of parallel programs which share access to mutable data. We introduce a resource-sensitive logic for partial correctness, based on a recent proposal of O’Hearn, adapting separation logic to the concurrent setting. The logic allows proofs of parallel programs in which “ownership” of critical data, such as the right to access, update or deallocate a pointer, is transferred dynamically between concurrent processes. We prove soundness of the logic, using a novel “local” interpretation of traces which allows accurate reasoning about ownership. We show that every provable program is race-free.
Related Topics
Physical Sciences and Engineering
Computer Science
Computational Theory and Mathematics