A Brookes-Style Denotational Semantics for Release/Acquire Concurrency

Yotam Dvir, Ohad Kammar, Ori Lahav

Research output: Contribution to journalArticlepeer-review

Abstract

We present a compositional denotational semantics for a functional language with first-class parallel composition and shared-memory operations whose operational semantics follows the Release/Acquire weak memory model (RA). The semantics is formulated in Moggi's monadic approach and is based on Brookes-style traces. To do so we adapt Brookes's traces to view-based machine for RA by Kang et al., and supplement Brookes's mumble and stutter closure operations with additional operations, specific to RA. The latter provides a more nuanced understanding of traces that uncouples them from operational interrupted executions. We show that our denotational semantics is adequate and use it to validate various program transformations of interest. This is the first work to put weak memory models on the same footing as many other programming effects in Moggi's standard monadic approach.

Original languageEnglish
Article number7
JournalACM Transactions on Programming Languages and Systems
Volume47
Issue number2
DOIs
StatePublished - 27 May 2025

Keywords

  • Compiler optimizations
  • Concurrency
  • Denotational semantics
  • Monads
  • Program equivalence
  • Program refinement
  • Release/Acquire
  • Shared memory
  • Shared state
  • Weak memory models

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint

Dive into the research topics of 'A Brookes-Style Denotational Semantics for Release/Acquire Concurrency'. Together they form a unique fingerprint.

Cite this