Local reasoning about Concurrency

The concept of separation naturally applies to concurrent programs.

TODO disjoint parallel comp rule.

There are a number of approaches of extending sequential separation logic to handle concurrent programs.

CSL (Concurrent Separation Logic)

The place to get started is Resources, Concurrency and Local Reasoning. PW O'Hearn, Theoretical Computer Science 375(1-3) (Reynolds Festschrift), pp271-307, May 2007.

This paper adapted the resource invariants to separation logic and introduced the notion of 'ownership transfer,' whereby the right to access a portion of the heap can be transferred between processes via a shared resource invariant. This enables modular reasoning in the presence of semaphores (e.g., split binary semaphores without maintaining a global invariant).

TODO: Ownership is in the eyer of the beholder.

Important papers:

Important extensions:

Other papers:

RGSep / SAGL / LRG