Weak Memory Model Formalisms: Introduction and Survey

📅 2025-08-06
📈 Citations: 0
Influential: 0
📄 PDF

career value

235K/year
🤖 AI Summary
This paper addresses the challenge of verifying concurrent programs arising from ambiguous formal specifications of weak memory models. It systematically surveys and comparatively analyzes two dominant modeling paradigms—operational semantics and axiomatic semantics—and introduces, for the first time, a unified framework for constructing execution traces and analyzing memory event relations. Using a simplified x86 model as a case study, the work integrates hardware microarchitectural features, computability theory, and advances in verification tools to achieve precise alignment between formal models and real hardware behavior. Its contributions are threefold: (1) establishing a cross-paradigm formal benchmark for semantic comparison; (2) proposing a unified analysis framework that balances verifiability and interpretability; and (3) delivering a comprehensive landscape of formal foundations and tooling support for safety-critical low-level software, thereby fostering synergistic advancement of theoretical rigor and engineering practicality.

Technology Category

Application Category

📝 Abstract
Memory consistency models define the order in which accesses to shared memory in a concurrent system may be observed to occur. Such models are a necessity since program order is not a reliable indicator of execution order, due to microarchitectural features or compiler transformations. Concurrent programming, already a challenging task, is thus made even harder when weak memory effects must be addressed. A rigorous specification of weak memory models is therefore essential to make this problem tractable for developers of safety- and security-critical, low-level software. In this paper we survey the field of formalisations of weak memory models, including their specification, their effects on execution, and tools and inference systems for reasoning about code. To assist the discussion we also provide an introduction to two styles of formal representation found commonly in the literature (using a much simplified version of Intel's x86 as the example): a step-by-step construction of traces of the system (operational semantics); and with respect to relations between memory events (axiomatic semantics). The survey covers some long-standing hardware features that lead to observable weak behaviours, a description of historical developments in practice and in theory, an overview of computability and complexity results, and outlines current and future directions in the field.
Problem

Research questions and friction points this paper is trying to address.

Formalizing weak memory models for concurrent systems
Surveying specification and reasoning tools for weak memory
Comparing operational and axiomatic semantics approaches
Innovation

Methods, ideas, or system contributions that make the work stand out.

Survey formalisations of weak memory models
Introduce operational and axiomatic semantics
Cover hardware features causing weak behaviours
🔎 Similar Papers
No similar papers found.