Don't sit on the fence: A static analysis approach to automatic fence insertion
Jade Alglave, Daniel Kroening, Vincent Nimal, Daniel Poetzl

TL;DR
This paper presents a scalable static analysis method for automatic insertion of memory fences in large codebases, addressing the challenge of ensuring memory consistency in modern architectures.
Contribution
It introduces a new scalable static analysis technique implemented in the musketeer tool for automatic fence insertion in large systems code.
Findings
Effective on over 350 Debian Linux executables
Handles large codebases with improved scalability
Demonstrates practical applicability in real-world software
Abstract
Modern architectures rely on memory fences to prevent undesired weakenings of memory consistency. As the fences' semantics may be subtle, the automation of their placement is highly desirable. But precise methods for restoring consistency do not scale to deployed systems code. We choose to trade some precision for genuine scalability: our technique is suitable for large code bases. We implement it in our new musketeer tool, and detail experiments on more than 350 executables of packages found in Debian Linux 7.1, e.g. memcached (about 10000 LoC).
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed systems and fault tolerance · Software System Performance and Reliability
