Monadic Interpreters for Concurrent Memory Models: Executable Semantics of a Concurrent Subset of LLVM IR
ACM SIGPLAN via YouTube
Build with Azure OpenAI, Copilot Studio & Agentic Frameworks — Microsoft Certified
Finance Certifications Goldman Sachs & Amazon Teams Trust
Overview
Google, IBM & Meta Certificates — All 10,000+ Courses at 40% Off
One annual plan covers every course and certificate on Coursera. 40% off for a limited time.
Get Full Access
Watch this 30-minute conference talk from CPP 2025 where researchers Nicolas Chappe, Ludovic Henrio, and Yannick Zakowski present their work on using monadic interpreters for modeling concurrent memory models. Explore how the Choice Tree (CTree) library in the Coq ecosystem can be leveraged to create semantics for programming languages that are modular, compositional, and executable. The presentation demonstrates the application of CTrees to formalize semantics for concurrency and weak memory models using a minimal concurrent subset of LLVM IR. Learn about their layered approach to semantics construction, where multi-threading is encoded as an interleaving semantics and different memory orderings are supported. The researchers also discuss how they established equational theories, transported equivalences through their layered construction, and proved simulation results between memory models. The semantics is executable and can be tested through extraction to OCaml. This talk was presented at the CPP 2025 conference sponsored by ACM SIGPLAN and ACM SIGLOG.
Syllabus
[CPP'25] Monadic interpreters for concurrent memory models: Executable semantics of a concurrent(…)
Taught by
ACM SIGPLAN