English

Quasi-Optimal Partial Order Reduction

Programming Languages 2018-04-23 v3

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 O(n)\mathop{\mathcal{O}}(n) Mazurkiewicz traces where SDPOR explores O(2n)\mathop{\mathcal{O}}(2^n) redundant schedules and identify the cause of the 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.

Keywords

Cite

@article{arxiv.1802.03950,
  title  = {Quasi-Optimal Partial Order Reduction},
  author = {Huyen T. T Nguyen and César Rodríguez and Marcelo Sousa and Camille Coti and Laure Petrucci},
  journal= {arXiv preprint arXiv:1802.03950},
  year   = {2018}
}

Comments

Minor corrections after review for publication

R2 v1 2026-06-23T00:18:57.175Z