Title
Truly Stateless, Optimal Dynamic Partial Order Reduction
Abstract
Dynamic partial order reduction (DPOR) verifies concurrent programs by exploring all their interleavings up to some equivalence relation, such as the Mazurkiewicz trace equivalence. Doing so involves a complex trade-off between space and time. Existing DPOR algorithms are either exploration-optimal (i.e., explore exactly only interleaving per equivalence class) but may use exponential memory in the size of the program, or maintain polynomial memory consumption but potentially explore exponentially many redundant interleavings. In this paper, we show that it is possible to have the best of both worlds: exploring exactly one interleaving per equivalence class with linear memory consumption. Our algorithm, TruSt, formalized in Coq, is applicable not only to sequential consistency, but also to any weak memory model that satisfies a few basic assumptions, including TSO, PSO, and RC11. In addition, TruSt is embarrassingly parallelizable: its different exploration options have no shared state, and can therefore be explored completely in parallel. Consequently, TruSt outperforms the state-of-the-art in terms of memory and/or time.
Year
DOI
Venue
2022
10.1145/3498711
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL
Keywords
DocType
Volume
Model Checking, Dynamic Partial Order Reduction, Weak Memory Models
Journal
6
Issue
Citations 
PageRank 
POPL
0
0.34
References 
Authors
0
4
Name
Order
Citations
PageRank
Michalis Kokologiannakis142.16
Iason Marmanis200.34
Vladimir Gladstein300.34
Viktor Vafeiadis400.34