Write a Blog >>
Tue 20 Jun 2017 12:05 - 12:30 at Actes, Civil Engineering - Synthesis Chair(s): Sasa Misailovic

A memory consistency model specifies which writes to shared memory a given read may see. Ambiguities or errors in these specifications can lead to bugs in both compilers and applications. Yet architectures usually define their memory models with prose and litmus tests—small concurrent programs that demonstrate allowed and forbidden outcomes. Recent work has formalized the memory models of common architectures through substantial manual effort, but as new architectures emerge, there is a growing need for tools to aid these efforts.

This paper presents MemSynth, a synthesis-aided system for reasoning about axiomatic specifications of memory models. MemSynth takes as input a set of litmus tests and a framework sketch that defines a class of memory models. The sketch comprises a set of axioms with missing expressions (or holes). Given these inputs, MemSynth synthesizes a completion of the axioms—i.e., a memory model—that gives the desired outcome on all tests. The MemSynth engine employs a novel embedding of bounded relational logic in a solver-aided programming language, which enables it to tackle complex synthesis queries intractable to existing relational solvers. This design also enables it to solve new kinds of queries, such as checking if a set of litmus tests unambiguously defines a memory model within a framework sketch.

We show that MemSynth can synthesize specifications for x86 in under two seconds, and for PowerPC in 12 seconds from 768 litmus tests. Our ambiguity check identifies missing tests from both the Intel x86 documentation and the validation suite of a previous PowerPC formalization. We also used MemSynth to reproduce, debug, and automatically repair a paper on comparing memory models in just two days.

Tue 20 Jun
Times are displayed in time zone: (GMT+02:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

10:50 - 12:30: PLDI Research Papers - Synthesis at Actes, Civil Engineering
Chair(s): Sasa MisailovicUniversity of Illinois at Urbana-Champaign
pldi-2017-papers10:50 - 11:15
Yu FengUniversity of Texas at Austin, USA, Ruben Martins, Jacob Van GeffenUT Austin, Isil DilligUT Austin, Swarat ChaudhuriRice University
Media Attached
pldi-2017-papers11:15 - 11:40
Ryan BeckettPrinceton University, Ratul MahajanMicrosoft, Todd MillsteinUniversity of California, Los Angeles, Jitendra PadhyeMicrosoft, David WalkerPrinceton University
Media Attached
pldi-2017-papers11:40 - 12:05
Chenglong WangUniversity of Washington, USA, Alvin CheungUniversity of Washington, Rastislav BodikUniversity of Washington
Media Attached
pldi-2017-papers12:05 - 12:30
James BornholtUniversity of Washington, Emina TorlakUniversity of Washington, USA
Pre-print Media Attached