English

Model Checking in Bits and Pieces

Logic in Computer Science 2013-09-23 v1

Abstract

Fully automated verification of concurrent programs is a difficult problem, primarily because of state explosion: the exponential growth of a program state space with the number of its concurrently active components. It is natural to apply a divide and conquer strategy to ameliorate state explosion, by analyzing only a single component at a time. We show that this strategy leads to the notion of a "split" invariant, an assertion which is globally inductive, while being structured as the conjunction of a number of local, per-component invariants. This formulation is closely connected to the classical Owicki-Gries method and to Rely-Guarantee reasoning. We show how the division of an invariant into a number of pieces with limited scope makes it possible to apply new, localized forms of symmetry and abstraction to drastically simplify its computation. Split invariance also has interesting connections to parametric verification. A quantified invariant for a parametric system is a split invariant for every instance. We show how it is possible, in some cases, to invert this connection, and to automatically generalize from a split invariant for a small instance of a system to a quantified invariant which holds for the entire family of instances.

Keywords

Cite

@article{arxiv.1309.5151,
  title  = {Model Checking in Bits and Pieces},
  author = {Kedar S. Namjoshi},
  journal= {arXiv preprint arXiv:1309.5151},
  year   = {2013}
}

Comments

In Proceedings Festschrift for Dave Schmidt, arXiv:1309.4557

R2 v1 2026-06-22T01:30:42.655Z