Pattern-based synthesis of synchronization for the C++ memory model

Yuri Meshman, Noam Rinetzky, Eran Yahav

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

11 Scopus citations

Abstract

We address the problem of synthesizing efficient and correct synchronization for programs running under the C++ relaxed memory model. Given a finite-state program P and a safety property S such that P satisfies S under a sequentially consistent (SC) memory model, our approach automatically eliminates concurrency errors in P due to the relaxed memory model, by creating a new program P with additional synchronization. Our approach works by automatically exploring the space of programs that can be created from P by adding synchronization operations. To explore this (vast) space, our algorithm: (i) explores bounded error traces to detect memory access patterns that can occur under the C++ memory model but not under SC, and (ii) eliminates these error traces by adding appropriate synchronization operations. We implemented our approach using CDSCHECKER as an oracle for detecting error traces and Z3 to symbolically explore the space of possible solutions. Our tool successfully synthesized synchronization operations for several challenging concurrent algorithms, including a state of the art Read-Copy-Update (RCU) algorithm.

Original languageEnglish
Title of host publicationProceedings of the 15th Conference on Formal Methods in Computer-Aided Design, FMCAD 2015
EditorsRoope Kaivola, Thomas Wahl
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages120-127
Number of pages8
ISBN (Electronic)9780983567851
DOIs
StatePublished - 11 Aug 2016
Event15th Conference on Formal Methods in Computer-Aided Design, FMCAD 2015 - Austin, United States
Duration: 27 Sep 201530 Sep 2015

Publication series

NameProceedings of the 15th Conference on Formal Methods in Computer-Aided Design, FMCAD 2015

Conference

Conference15th Conference on Formal Methods in Computer-Aided Design, FMCAD 2015
Country/TerritoryUnited States
CityAustin
Period27/09/1530/09/15

Fingerprint

Dive into the research topics of 'Pattern-based synthesis of synchronization for the C++ memory model'. Together they form a unique fingerprint.

Cite this