Nitpicking C++ concurrency

Saved in:
Bibliographic Details
Title: Nitpicking C++ concurrency
Authors: Blanchette, Jasmin Christian, Weber, Tjark, Batty, Mark, Owens, Scott, Sarkar, Susmit
Source: Blanchette , J C , Weber , T , Batty , M , Owens , S & Sarkar , S 2011 , Nitpicking C++ concurrency . in Proceedings of the 2011 Symposium on Prinicples and Practices of Declarative Programming (PDP'11) . PPDP'11 - Proceedings of the 2011 Symposium on Principles and Practices of Declarative Programming , ACM , New York, NY , pp. 113-123 , 13th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming , Odense , Denmark , 20/07/11 . https://doi.org/10.1145/2003476.2003493
Publisher Information: ACM
Publication Year: 2011
Subject Terms: SAT solving, JAVA memory model, Isabelle/HOL, Higher-order logic, Concurrency, C plus plus memory model, Nitpick, Kodkod, Model finding
Description: Previous work formalized the C++ memory model in Isabelle/HOL in an effort to clarify the proposed standard's semantics. Here we employ the model finder Nitpick to check litmus test programs that exercise the memory model, including a simple locking algorithm. Nitpick is built on Kodkod (Alloy's backend) but understands Isabelle's richer logic; hence it can be applied directly to the C++ memory model. We only need to give it a few hints, and thanks to the underlying SAT solver it scales much better than the CPPMEM explicit-state model checker. This case study inspired optimizations in Nitpick from which other formalizations can now benefit.
Document Type: article in journal/newspaper
Language: English
ISBN: 978-1-4503-0776-5
1-4503-0776-0
Relation: urn:ISBN:9781450307765
DOI: 10.1145/2003476.2003493
DOI: 10.1145/2003476
Availability: https://research-portal.st-andrews.ac.uk/en/publications/2c735c22-5c95-4a8d-aa53-ce608f097569
https://doi.org/10.1145/2003476.2003493
https://dl.acm.org/doi/proceedings/10.1145/2003476
Rights: info:eu-repo/semantics/restrictedAccess
Accession Number: edsbas.F1460697
Database: BASE
Description
Abstract:Previous work formalized the C++ memory model in Isabelle/HOL in an effort to clarify the proposed standard's semantics. Here we employ the model finder Nitpick to check litmus test programs that exercise the memory model, including a simple locking algorithm. Nitpick is built on Kodkod (Alloy's backend) but understands Isabelle's richer logic; hence it can be applied directly to the C++ memory model. We only need to give it a few hints, and thanks to the underlying SAT solver it scales much better than the CPPMEM explicit-state model checker. This case study inspired optimizations in Nitpick from which other formalizations can now benefit.
ISBN:9781450307765
1450307760
DOI:10.1145/2003476.2003493