Synthesizing memory models from framework sketches and Litmus tests
Citations
103 citations
68 citations
60 citations
Cites background from "Synthesizing memory models from fra..."
...Considerable recent work has been devoted to memory systems analysis of many sorts, including the development of tools for analysis, specification, and verification of memory consistency models (MCMs), which specify the rules and guarantees governing the ordering and visibility of accesses to shared memory in a multi-core system [3, 6, 18, 12, 4, 10, 11, 14, 17, 13]....
[...]
56 citations
33 citations
Cites background from "Synthesizing memory models from fra..."
...This generalization allows us to scale the reasoning beyond litmus tests [Alglave et al. 2010; Bornholt and Torlak 2017] to real programs....
[...]
References
8,381 citations
6,859 citations
"Synthesizing memory models from fra..." refers background or methods in this paper
...The result of INTERPRET(s, I) is a symbolic encoding of the semantics of s, which is then checked for satisfiability with an off-the-shelf SMT solver [19]....
[...]
...We found the Z3 SMT solver [19] to be extremely effective at discharging these formulas—an average of 2–5× faster than our own specialized implementation of counterexample-guided inductive synthesis [41]....
[...]
...Given these inputs, it uses our relational DSL (embedded in Rosette) to generate and solve quantified formulas using an off-theshelf SMT solver [19]....
[...]
6,804 citations
1,641 citations
"Synthesizing memory models from fra..." refers background or methods in this paper
...The bounded version of the logic is decidable by reduction to boolean satisfiability, and existing relational solvers [24, 33, 44] are based on such a reduction....
[...]
...The language and the engine are both based on a deep embedding of bounded relational logic [24, 44] in Rosette [42, 43], a solver-aided host language that extends Racket [21, 37] with support for verification and synthesis....
[...]
...[27] use Alloy [24] to synthesize suites of litmus tests that examine a set of pre-defined memory ordering relaxations, which together compose a design space we could use as a framework sketch....
[...]
...This embedding includes an explicit construct for sketching, and its engine offers optimizations for answering (satisfiability) queries about memory models orders of magnitude faster than general-purpose relational solvers [24, 33]....
[...]
...The language extends bounded relational logic [24, 44] with expression holes, which enable sketching of memory model frameworks....
[...]
754 citations
"Synthesizing memory models from fra..." refers background or methods in this paper
...The template consists of a set of axioms with holes [41] (i....
[...]
...As with other tools based on syntax-guided synthesis [41], MemSynth’s results are inherently bounded....
[...]
...To support synthesis, we extend relational logic with expression holes, which define the search space for a synthesis query to explore [41]....
[...]
...We found the Z3 SMT solver [19] to be extremely effective at discharging these formulas—an average of 2–5× faster than our own specialized implementation of counterexample-guided inductive synthesis [41]....
[...]