Affiliation:
1. Masaryk University, Czechia
2. IST Austria, Austria
3. Kena Labs, India
4. IIT Bombay, India
Abstract
We present a new dynamic partial-order reduction method for stateless model checking of concurrent programs. A common approach for exploring program behaviors relies on enumerating the traces of the program, without storing the visited states (aka
stateless
exploration). As the number of distinct traces grows exponentially, dynamic partial-order reduction (DPOR) techniques have been successfully used to partition the space of traces into equivalence classes (
Mazurkiewicz
partitioning), with the goal of exploring only few representative traces from each class.
We introduce a new equivalence on traces under sequential consistency semantics, which we call the
observation
equivalence. Two traces are observationally equivalent if every read event observes the same write event in both traces. While the traditional Mazurkiewicz equivalence is control-centric, our new definition is data-centric. We show that our observation equivalence is coarser than the Mazurkiewicz equivalence, and in many cases even exponentially coarser. We devise a DPOR exploration of the trace space, called
data-centric
DPOR, based on the observation equivalence.
For acyclic architectures, our algorithm is guaranteed to explore
exactly
one representative trace from each observation class, while spending polynomial time per class. Hence, our algorithm is
optimal
wrt the observation equivalence, and in several cases explores exponentially fewer traces than
any
enumerative method based on the Mazurkiewicz equivalence.
For cyclic architectures, we consider an equivalence between traces which is finer than the observation equivalence; but coarser than the Mazurkiewicz equivalence, and in some cases is exponentially coarser. Our data-centric DPOR algorithm remains optimal under this trace equivalence.
Finally, we perform a basic experimental comparison between the existing Mazurkiewicz-based DPOR and our data-centric DPOR on a set of academic benchmarks. Our results show a significant reduction in both running time and the number of explored equivalence classes.
Funder
Czech Science Foundation
Austrian Science Fund
European Research Council
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
44 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. CSSTs: A Dynamic Data Structure for Partial Orders in Concurrent Execution Analysis;Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 3;2024-04-27
2. How Hard Is Weak-Memory Testing?;Proceedings of the ACM on Programming Languages;2024-01-05
3. Coarser Equivalences for Causal Concurrency;Proceedings of the ACM on Programming Languages;2024-01-05
4. Parsimonious Optimal Dynamic Partial Order Reduction;Lecture Notes in Computer Science;2024
5. Enhancing GenMC’s Usability and Performance;Lecture Notes in Computer Science;2024