Thu 8 Nov 2018 10:30 - 10:52 at Studio 1 - Weak Memory and Refactoring Chair(s): Richard Jones

We present a framework for efficient application of stateless model checking (SMC) to concurrent programs running under the release-acquire (RA) fragment of the C11 memory model. Our approach is based on exploring the possible program orders, which define the order in which instructions of a thread are executed, and read-from relations, which define how reads obtain their values from writes. This is in contrast to previous approaches, which in addition explore the possible coherence orders, i.e., orderings between conflicting writes. Since unexpected test results such as program crashes or assertion violations depend only on the read-from relation, we avoid a potentially large source of redundancy. Our framework is based on a novel technique for determining whether a particular read-from relation is feasible under the RA semantics. We define an SMC algorithm which is provably optimal in the sense that it explores each program order and read-from relation exactly once. This optimality result is strictly stronger than previous analogous optimality results, which also take coherence order into account. We have implemented our framework in the tool TRACER . Experiments show that TRACER can be significantly faster than state-of-the-art tools that can handle the RA semantics.

Thu 8 Nov

10:30 - 12:00: OOPSLA - Weak Memory and Refactoring at Studio 1
Chair(s): Richard JonesUniversity of Kent
splash-2018-OOPSLA10:30 - 10:52
Parosh Aziz AbdullaUppsala University, Sweden, Mohamed Faouzi AtigUppsala University, Bengt JonssonUppsala University, Tuan Phong NgoUppsala University
splash-2018-OOPSLA10:52 - 11:15
Peizhao OuUniversity of California, Irvine, Brian DemskyUniversity of California, Irvine
splash-2018-OOPSLA11:15 - 11:37
Azalea RaadMPI-SWS, Germany, Viktor VafeiadisMPI-SWS, Germany
splash-2018-OOPSLA11:37 - 12:00