Affiliation:
1. University College London, Gower Street, London, United Kingdom
2. INRIA, France
3. Queen Mary University of London, London, United Kingdom
Abstract
We propose an axiomatic generic framework for modelling weak memory. We show how to instantiate this framework for Sequential Consistency (SC), Total Store Order (TSO), C++ restricted to release-acquire atomics, and Power. For Power, we compare our model to a preceding operational model in which we found a flaw. To do so, we define an operational model that we show equivalent to our axiomatic model.
We also propose a model for ARM. Our testing on this architecture revealed a behaviour later acknowledged as a bug by ARM, and more recently, 31 additional anomalies.
We offer a new simulation tool, called herd, which allows the user to specify the model of his choice in a concise way. Given a specification of a model, the tool becomes a simulator for that model. The tool relies on an axiomatic description; this choice allows us to outperform all previous simulation tools. Additionally, we confirm that verification time is vastly improved, in the case of bounded model checking.
Finally, we put our models in perspective, in the light of empirical data obtained by analysing the C and C++ code of a Debian Linux distribution. We present our new analysis tool, called mole, which explores a piece of code to find the weak memory idioms that it uses.
Publisher
Association for Computing Machinery (ACM)
Cited by
242 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Unifying Weak Memory Verification Using Potentials;Lecture Notes in Computer Science;2024-09-11
2. Robustness against the C/C++11 Memory Model;Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis;2024-09-11
3. SPORE: Combining Symmetry and Partial Order Reduction;Proceedings of the ACM on Programming Languages;2024-06-20
4. Compositional Semantics for Shared-Variable Concurrency;Proceedings of the ACM on Programming Languages;2024-06-20
5. IsoPredict: Dynamic Predictive Analysis for Detecting Unserializable Behaviors in Weakly Isolated Data Store Applications;Proceedings of the ACM on Programming Languages;2024-06-20