Logical Concurrency Control from Sequential Proofs

  • Jyotirmoy Deshmukh
  • G. Ramalingam
  • Venkatesh-Prasad Ranganath
  • Kapil Vaswani
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6012)

Abstract

We are interested in identifying and enforcing the isolation requirements of a concurrent program, i.e., concurrency control that ensures that the program meets its specification. The thesis of this paper is that this can be done systematically starting from a sequential proof, i.e., a proof of correctness of the program in the absence of concurrent interleavings. We illustrate our thesis by presenting a solution to the problem of making a sequential library thread-safe for concurrent clients. We consider a sequential library annotated with assertions along with a proof that these assertions hold in a sequential execution. We show how we can use the proof to derive concurrency control that ensures that any execution of the library methods, when invoked by concurrent clients, satisfies the same assertions. We also present an extension to guarantee that the library is linearizable with respect to its sequential specification.

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Jyotirmoy Deshmukh
    • 1
  • G. Ramalingam
    • 2
  • Venkatesh-Prasad Ranganath
    • 2
  • Kapil Vaswani
    • 2
  1. 1.Univeristy of Texas at Austin 
  2. 2.Microsoft ResearchIndia

Personalised recommendations