Distributed and predictable software model checking

  • Authors:
  • Nuno P. Lopes;Andrey Rybalchenko

  • Affiliations:
  • INESC-ID, IST, TU Lisbon;Technische Universität, München

  • Venue:
  • VMCAI'11 Proceedings of the 12th international conference on Verification, model checking, and abstract interpretation
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 nondeterminism 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.