Automated Verification of Concurrent Search Structures

Siddharth Krishna, Nisarg Patel, Dennis Shasha, Thomas Wies

Research output: Chapter in Book/Report/Conference proceedingChapter


Search structures support the fundamental data storage primitives on key-value pairs: insert a pair, delete by key, search by key, and update the value associated with a key. Concurrent search structures are parallel algorithms to speed access to search structures on multicore and distributed servers. These sophisticated algorithms perform fine-grained synchronization between threads, making them notoriously difficult to design correctly. Indeed, bugs have been found both in actual implementations and in the designs proposed by experts in peer-reviewed publications. The rapid development and deployment of these concurrent algorithms has resulted in a rift between the algorithms that can be verified by the state-of-The-Art techniques and those being developed and used today. The goal of this book is to show how to bridge this gap in order to bring the certified safety of formal verification to high-performance concurrent search structures. Similar techniques and frameworks can be applied to concurrent graph and network algorithms beyond search structures.

Original languageEnglish (US)
Title of host publicationSynthesis Lectures on Computer Science
Subtitle of host publicationLecture #13
PublisherMorgan and Claypool Publishers
Number of pages188
StatePublished - Jun 1 2020

Publication series

NameSynthesis Lectures on Computer Science
ISSN (Print)1932-1228
ISSN (Electronic)1932-1686


  • B trees
  • concurrency
  • data structures
  • hash structures
  • log-structured merge trees
  • search structures
  • separation logic
  • verification

ASJC Scopus subject areas

  • Computer Science (miscellaneous)


Dive into the research topics of 'Automated Verification of Concurrent Search Structures'. Together they form a unique fingerprint.

Cite this