Towards Efficient Verification of Parallel Applications with Mc SimGrid
Matthieu Laurent, Thierry Jéron, Martin Quinson
TL;DR
The paper tackles the verification of parallel applications where nondeterministic event orders complicate bug detection. It extends MD-aware model checking by adapting Optimal Dynamic Partial Order Reduction (ODPOR) into McSimGrid with two aims: faster bug discovery via an out-of-order variant (RFS ODPOR) and human-friendly bug explanations through a critical-transition mechanism. They formalize a compact programming model, establish DPOR/ODPOR foundations, and demonstrate that RFS ODPOR preserves soundness and optimality while accelerating bug detection; a CT-based approach provides concise root-cause explanations. Experimental results show RFS ODPOR achieves competitive runtime with higher memory usage, and bug-finding experiments indicate substantial improvements in early fault discovery, suggesting practical impact for large-scale parallel software verification.
Abstract
Assessing the correctness of distributed and parallel applications is notoriously difficult due to the complexity of the concurrent behaviors and the difficulty to reproduce bugs. In this context, Dynamic Partial Order Reduction (DPOR) techniques have proved successful in exploiting concurrency to verify applications without exploring all their behaviors. However, they may lack of efficiency when tracking non-systematic bugs of real size applications. In this paper, we suggest two adaptations of the Optimal Dynamic Partial Order Reduction (ODPOR) algorithm with a particular focus on bug finding and explanation. The first adaptation is an out-of-order version called RFS ODPOR which avoids being stuck in uninteresting large parts of the state space. Once a bug is found, the second adaptation takes advantage of ODPOR principles to efficiently find the origins of the bug.
