Journal article
Property-Driven Fence Insertion using Reorder Bounded Model Checking
- Abstract:
- Modern architectures provide weaker memory consistency guarantees than sequential consistency. These weaker guarantees allow programs to exhibit behaviours where the program statements appear to have executed out of program order. Fortunately, modern architectures provide memory barriers (fences) to enforce the program order between a pair of statements if needed. Due to the intricate semantics of weak memory models, the placement of fences is challenging even for experienced programmers. Too few fences lead to bugs whereas overuse of fences results in performance degradation. This motivates automated placement of fences. Tools that restore sequential consistency in the program may insert more fences than necessary for the program to be correct. Therefore, we propose a property-driven technique that introduces reorder-bounded exploration to identify the smallest number of program locations for fence placement. We implemented our technique on top of Cbmc; however, in principle, our technique is generic enough to be used with any model checker. Our experimental results show that our technique is faster and solves more instances of relevant benchmarks than earlier approaches.
- Publication status:
- Not published
- Peer review status:
- Reviewed (other)
Actions
Access Document
- Files:
-
-
(Preview, pdf, 438.6KB, Terms of use)
-
Authors
- Language:
-
English
- UUID:
-
uuid:0417cd55-a338-46ce-87d4-425647e5bc57
- Local pid:
-
ora:10971
- Deposit date:
-
2015-04-14
- ARK identifier:
If you are the owner of this record, you can report an update to it here: Report update to this record