Nuno P. Lopes and Andrey Rybalchenko
We present a predicate abstraction and refinement-based algorithm for software verification that is designed for the distributed execution on compute nodes that communicate via message passing, as found in today's compute clusters. A successful adaptation of predicate abstraction and refinement from sequential to distributed setting needs to address challenges imposed by the inherent non-determinism present in distributed computing environments. In fact, our experiments show that up to an order of magnitude variation of the running time is common when a naive distribution scheme is applied, often resulting in significantly worse running time than the non-distributed version. We present an algorithm that overcomes this pitfall by making deterministic the counterexample selection in spite of the distribution, and still efficiently exploits distributed computational resources. We demonstrate that our distributed software verification algorithm is practical by an experimental evaluation on a set of difficult benchmark problems from the transportation domain.
N. P. Lopes and A. Rybalchenko. Distributed and Predictable Software Model Checking. In Proc. of the 12th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI), pages 340-355, Jan. 2011.
@inproceedings{darmc-vmcai11, title = {Distributed and Predictable Software Model Checking}, author = {Nuno P. Lopes and Andrey Rybalchenko}, booktitle = {Proc. of the 12th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI)}, pages = {340--355}, doi = {10.1007/978-3-642-18275-4_24}, month = jan, year = 2011 }
The final publication is available at link.springer.com.