Models whose checks don't explode [chapter]

R. P. Kurshan
1994 Lecture Notes in Computer Science  
Automata-theoretic verification is based upon the language containment test L(P0 | P1 | | Pk) c Z(T) where the P,'s are automata which together model a system with its fairness constraints, | is a parallel composition for automata and T defines a specification. The complexity of that test typically grows exponentially with k. This growth, often called "state explosion", has been a major impediment to computer-aided verification, and many heuristics which are successful in special cases, have
more » ... n developed to combat it. While all such heuristics are welcome advances, it often is difficult to quantify benefit in terms of hard upper bounds. This paper gives a general algorithm for that language containment test which has complexity O(k) when most of the Pi's are of a special type, which generalizes strong fairness properties. In particular, the algorithm and bound reduce to the natural generalization for testing the language emptiness of a nondeterministic Streett automaton, in which the normal acceptance condition is generalized to allow an arbitrary Boolean combination of strong fairness constraints (not just a conjunction), expressible in disjunctive normal form with k literals. The algorithm may be implemented either as a BDD-based fixed point routine, or in terms of explicit state enumeration.
doi:10.1007/3-540-58179-0_57 fatcat:w5agnsorobggzhmv2xrpkbx5mu