Sequential verification of serializability

H. Attiya*, G. Ramalingam, N. Rinetzky

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

6 Scopus citations

Abstract

Serializability is a commonly used correctness condition in concurrent programming. When a concurrent module is serializable, certain other properties of the module can be verified by considering only its sequential executions. In many cases, concurrent modules guarantee serializability by using standard locking protocols, such as tree locking or two-phase locking. Unfortunately, according to the existing literature, verifying that a concurrent module adheres to these protocols requires considering concurrent interleavings. In this paper, we show that adherence to a large class of locking protocols (including tree locking and two-phase locking) can be verified by considering only sequential executions. The main consequence of our results is that in many cases, the (manual or automatic) verification of serializability can itself be done using sequential reasoning.

Original languageEnglish
Title of host publicationPOPL'10 - Proceedings of the 37th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Pages31-42
Number of pages12
DOIs
StatePublished - 2010
Externally publishedYes
Event37th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'10 - Madrid, Spain
Duration: 17 Jan 201023 Jan 2010

Publication series

NameConference Record of the Annual ACM Symposium on Principles of Programming Languages
ISSN (Print)0730-8566

Conference

Conference37th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'10
Country/TerritorySpain
CityMadrid
Period17/01/1023/01/10

Keywords

  • Concurrency
  • Reduction
  • Serializability
  • Verification

Fingerprint

Dive into the research topics of 'Sequential verification of serializability'. Together they form a unique fingerprint.

Cite this