Download PDFOpen PDF in browser

A simple proof system for lock-free concurrency

3 pagesPublished: March 24, 2013

Abstract

Concurrent algorithms classically relied on locks to guarantee the absence of interference when accessing shared resources. The massive use of distributed systems and of new multi-core architectures makes this approach unfeasible, and novel techniques are needed. Lock-Free algorithms have thus gained momentum. We define a core imperative calculus, equipped with concurrency and low level lock-free synchronization primitives, based on the Load-Link/Store-Conditional model. We propose a Hoare-Separation-style system to prove correct lock-free algorithms implemented in this language. Judgements distinguish local from global state, transfering knowledge between the worlds in the rules for loading and copying variables. We present a simple yet illustrative example of a proof for a concurrent data structure.

Keyphrases: hoare style logic, imperative core calculus, lock free algorithms, separation logic

In: Alex Simpson (editor). PSPL 2010. International Workshop on Proof Systems for Program Logics, vol 12, pages 1-3.

BibTeX entry
@inproceedings{PSPL2010:simple_proof_system_lock,
  author    = {Luís Caires and Carla Ferreira and António Ravara},
  title     = {A simple proof system for lock-free concurrency},
  booktitle = {PSPL 2010. International Workshop on Proof Systems for Program Logics},
  editor    = {Alex Simpson},
  series    = {EPiC Series in Computing},
  volume    = {12},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {/publications/paper/xJD},
  doi       = {10.29007/n3nk},
  pages     = {1-3},
  year      = {2013}}
Download PDFOpen PDF in browser