Write a Blog >>
SPLASH 2019
Sun 20 - Fri 25 October 2019 Athens, Greece
Fri 25 Oct 2019 14:22 - 14:45 at Templars - Model Checking Chair(s): Casper Bach Poulsen

We present a new approach for stateless model checking (SMC) of multithreaded programs under Sequential Consistency (SC) semantics. To combat state-space explosion, SMC is often equipped with a partial-order reduction technique, which defines an equivalence on executions, and only needs to explore one execution in each equivalence class. Recently, it has been observed that the commonly used equivalence of Mazurkiewicz traces can be coarsened but still cover all program crashes and assertion violations. However, for this coarser equivalence, which preserves only the reads-from relation from writes to reads, there is no SMC algorithm which is (i) \emph{optimal} in the sense that it explores precisely one execution in each reads-from equivalence class, and (ii) \emph{efficient} in the sense that it spends polynomial effort per class. We present the first SMC algorithm for SC that is both optimal and efficient \emph{in practice}, meaning that it spends polynomial time per equivalence class on all programs that we have tried. This is achieved by a \textit{novel test} that checks whether a given reads-from relation can arise in some execution. We have implemented the algorithm by extending Nidhugg, an SMC tool for C/C++ programs, with a new mode called \textsf{rfsc}. Our experimental results show that \textsc{Nidhugg}/\textsf{rfsc}, although slower than the fastest SMC tools in programs where tools happen to examine the same number of executions, always scales similarly or better than them, and outperforms them by an exponential factor in programs where the reads-from equivalence is coarser than the standard one. We also present two non-trivial use cases
where the new equivalence is particularly effective, as well as the significant performance advantage that \textsc{Nidhugg}/\textsf{rfsc} offers compared to state-of-the-art SMC and systematic concurrency testing tools.

Fri 25 Oct

Displayed time zone: Beirut change

14:00 - 15:30
Model CheckingOOPSLA at Templars
Chair(s): Casper Bach Poulsen Delft University of Technology
14:00
22m
Talk
Value-Centric Dynamic Partial Order Reduction
OOPSLA
Krishnendu Chatterjee IST Austria, Andreas Pavlogiannis EPFL, Viktor Toman IST Austria (Institute of Science and Technology Austria)
DOI
14:22
22m
Talk
Optimal Stateless Model Checking for Reads-From Equivalence under Sequential Consistency
OOPSLA
Parosh Aziz Abdulla Uppsala University, Sweden, Mohamed Faouzi Atig Uppsala University, Sweden, Bengt Jonsson Uppsala University, Sweden, Magnus Lång Uppsala University, Sweden, Tuan Phong Ngo Uppsala University, Sweden, Konstantinos (Kostis) Sagonas Uppsala University, Sweden
DOI Pre-print
14:45
22m
Talk
TLA+ Model Checking Made Symbolic
OOPSLA
Igor Konnov Inria Nancy - Grand Est, France, Jure Kukovec TU Wien, Austria, Thanh-Hai Tran TU Wien, Austria
DOI
15:07
22m
Talk
Effective Lock Handling in Stateless Model Checking
OOPSLA
Michalis Kokologiannakis MPI-SWS, Germany, Azalea Raad MPI-SWS, Germany, Viktor Vafeiadis MPI-SWS, Germany
DOI