Abstract
A dynamic partial order reduction (DPOR) algorithm is optimal when it always explores at most one representative per Mazurkiewicz trace. Existing literature suggests that the reduction obtained by the non-optimal, state-of-the-art Source-DPOR (SDPOR) algorithm is comparable to optimal DPOR. We show the first program with $$\mathop {\mathcal {O}} (n)$$ Mazurkiewicz traces where SDPOR explores $$\mathop {\mathcal {O}} (2^n)$$ redundant schedules (as this paper was under review, we were made aware of the recent publication of another paper [3] which contains an independently-discovered example program with the same characteristics). We furthermore identify the cause of this blow-up as an NP-hard problem. Our main contribution is a new approach, called Quasi-Optimal POR, that can arbitrarily approximate an optimal exploration using a provided constant k. We present an implementation of our method in a new tool called Dpu using specialised data structures. Experiments with Dpu, including Debian packages, show that optimality is achieved with low values of k, outperforming state-of-the-art tools.
Highlights
Dynamic partial-order reduction (DPOR) [10,1,19] is a mature approach to mitigate the state explosion problem in stateless model checking of multithreaded programs
dynamic partial order reduction (DPOR) are based on Mazurkiewicz trace theory [13], a true-concurrency semantics where the set of executions of the program is partitioned into equivalence classes known as Mazurkiewicz traces (M-traces)
We prove that computing alternatives in an optimal DPOR is an NP-complete problem
Summary
Dynamic partial-order reduction (DPOR) [10,1,19] is a mature approach to mitigate the state explosion problem in stateless model checking of multithreaded programs. Xi = 0 interferes with exactly one writer thread, depending on the value of i Since SDPOR does not track relations between dependent statements, it will naively try to reverse the race between xi = 0 and all writer threads, which results in exploring O(2n) executions. In this program, exploring only six traces requires understanding the entanglement between both interferences as the order in which the first is reversed determines the second. Proofs for all our formal results are available in the appendix of this manuscript
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have