Compositional Verification of Concurrent C Programs with Search Structure Templates

Duc Than Nguyen, Lennart Beringer, William Mansky, Shengyi Wang

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Scopus citations

Abstract

Concurrent search structure templates are a technique for separating the verification of a concurrent data structure into concurrency-control and data-structure components, which can then be modularly combined with no additional proof effort. In this paper, we implement the template approach in the Verified Software Toolchain (VST), and use it to prove correctness of C implementations of fine-grained concurrent data structures. This involves translating code, specifications, and proofs to the idiom of C and VST, and gives us another look at the requirements and limitations of the template approach. We encounter several questions about the boundaries between template and data structure, as well as some common data structure operations that cannot naturally be decomposed into templates. Nonetheless, the approach appears promising for modular verification of real-world concurrent data structures.

Original languageEnglish (US)
Title of host publicationCPP 2024 - Proceedings of the 13th ACM SIGPLAN International Conference on Certified Programs and Proofs, Co-located with
Subtitle of host publicationPOPL 2024
EditorsAmin Timany, Dmitriy Traytel, Brigitte Pientka, Sandrine Blazy
PublisherAssociation for Computing Machinery, Inc
Pages60-74
Number of pages15
ISBN (Electronic)9798400704888
DOIs
StatePublished - Jan 9 2024
Event13th ACM SIGPLAN International Conference on Certified Programs and Proofs, CPP 2024, in affiliation with the annual Symposium on Principles of Programming, Languages, ,POPL 2024 - London, United Kingdom
Duration: Jan 15 2024Jan 16 2024

Publication series

NameCPP 2024 - Proceedings of the 13th ACM SIGPLAN International Conference on Certified Programs and Proofs, Co-located with: POPL 2024

Conference

Conference13th ACM SIGPLAN International Conference on Certified Programs and Proofs, CPP 2024, in affiliation with the annual Symposium on Principles of Programming, Languages, ,POPL 2024
Country/TerritoryUnited Kingdom
CityLondon
Period1/15/241/16/24

All Science Journal Classification (ASJC) codes

  • Computer Science Applications
  • Software

Keywords

  • concurrent separation logic
  • fine-grained locking
  • interactive theorem proving
  • Iris
  • logical atomicity
  • Verified Software Toolchain

Fingerprint

Dive into the research topics of 'Compositional Verification of Concurrent C Programs with Search Structure Templates'. Together they form a unique fingerprint.

Cite this