English

State Space Estimation for DPOR-based Model Checkers(Extended Version)

Programming Languages 2026-04-27 v3

Abstract

We study the estimation problem for concurrent programs: given a bounded program PP, estimate the number of Mazurkiewicz trace-equivalence classes induced by its interleavings. This quantity informs two practical questions for enumeration-based model checking: how long a model checking run is likely to take, and what fraction of the search space has been covered so far. We first show the counting problem is #P-hard even for restricted programs and, unless P=NPP=NP, inapproximable within any subexponential factor, ruling out efficient exact or randomized approximation algorithms. We give a Monte Carlo approach to obtain a poly-time unbiased estimator: we convert a stateless optimal DPOR algorithm into an unbiased estimator by viewing its exploration as a bounded-depth, bounded-width tree whose leaves are the maximal Mazurkiewicz traces. A classical estimator by Knuth, when run on this tree, yields an unbiased estimate. To control the variance, we apply stochastic enumeration by maintaining a small population of partial paths per depth whose evolution is coupled. We have implemented our estimator in the JMC model checker and evaluated it on shared-memory benchmarks. With modest budgets, our estimator yields stable estimates, typically within a 20% band, within a few hundred trials, even when the state space has 10510^5--10610^6 classes. We also show how the same machinery estimates model-checking cost by weighting all explored graphs, not only complete traces. Our algorithms provide the first provable poly-time unbiased estimators for counting traces, a problem of considerable importance when allocating model checking resources.

Keywords

Cite

@article{arxiv.2512.23996,
  title  = {State Space Estimation for DPOR-based Model Checkers(Extended Version)},
  author = {A. R. Balasubramanian and Mohammad Hossein Khoshechin Jorshari and Rupak Majumdar and Umang Mathur and Minjian Zhang},
  journal= {arXiv preprint arXiv:2512.23996},
  year   = {2026}
}

Comments

Extended Version of the paper accepted to appear in PLDI 2026

R2 v1 2026-07-01T08:45:22.533Z