Search papers, labs, and topics across Lattice.
This paper explores the application of Monadic Second-Order logic (MSO) as a metatheory for verifying weak memory models in concurrent programming, addressing the challenges posed by compiler and architectural optimizations. The authors prove that while executions under Sequential Consistency (SC) exhibit bounded treewidth, those under Total Store Order (TSO) do not, highlighting significant differences in their verification complexities. Furthermore, they introduce the concept of reads-from robustness and demonstrate that their established treewidth bounds lead to practical algorithms for verifying program robustness against various MSO-axiomatizable memory models.
Executions under Sequential Consistency are verifiably simpler than those under Total Store Order, with profound implications for concurrent program verification.
Memory models are formal specifications of concurrent-program executions, accounting for weak behaviors introduced by compiler and architectural optimizations. The increase of their number and complexity has spawned efforts for uniform verification across whole classes of models, by axiomatizing the models in an adequate metatheory that admits a uniform treatment. In this work, we formally study Monadic Second-Order logic (MSO) as a metatheory for weak memory, by proving results on the treewidth and MSO-expressibility of various popular weak-memory models, as this combination allows us to uniformly tackle several verification problems. In summary, our results are as follows. First, we prove that executions under Sequential Consistency ($\mathsf{SC}$) have bounded treewidth, while already those under Total Store Order ($\mathsf{TSO}$) do not. Second, we prove that a broad range of models, including Release/Acquire and the full RC20, are MSO-axiomatizable, while others, such as Strong Release/Acquire and $\mathsf{TSO}$, are not, unless the Orthogonal Vectors problem $\unicode{x2013}$ which requires quadratic time under SETH $\unicode{x2013}$ can be solved in linear time. Finally, we introduce the notion of reads-from robustness, as an extension to recent work on coarse robustness criteria. We show that our treewidth bounds (both upper and lower) have far-reaching algorithmic implications for any of our MSO-axiomatizable models $\mathsf{MM}$: there is an algorithm that, for every program $\mathsf{P}$, either verifies $\mathsf{P}$ under $\mathsf{MM}$ or reports that $\mathsf{P}$ is not reads-from robust against $\mathsf{MM}$. Overall, our results establish a rich and versatile theoretical framework for weak-memory verification and robustness.