Testing Language Containment for omega-Automata Using BDD's

?-automata provide a well-established basis for the specification and verification of control-intensive systems. To verify that a system satisfies a given property ("task"), one specifies both the system and the task in terms of ?-automata, and then verifies that the ?-regular language of the system automaton is contained in that of the task automaton. This procedure, which is the basis of the COSPAN verification software, has been used in a number of commercial applications. However, its applicability is limited by the computational complexity of the ensuing language containment check, which tends to grow exponentially with the number of components in the system. While reduction techniques such as task decomposition and task-relative homomorphic reduction can greatly extend the complexity of systems which thus may be analyzed, there is a computational cost associated with such reductions as well. Moreover, the system complexity is the ultimate limiting factor. Recent advances in the manipulation of data-structures for binary decision diagrams (BDDs) have suggested that this data-structure may now facilitate checking language containment for far larger system models than has been hitherto possible. We have confirmed this by implementing new BDD-based language containment checks in COSPAN. We exhibit two such algorithms: one with a time advantage and the other with a space advantage. Each has increased significantly the size of system models which can be verified.

[1]  Robert P. Kurshan,et al.  Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach , 2014 .

[2]  C. Y. Lee Representation of switching circuits by binary-decision programs , 1959 .

[3]  Randal E. Bryant,et al.  On the Complexity of VLSI Implementations and Graph Representations of Boolean Functions with Application to Integer Multiplication , 1991, IEEE Trans. Computers.

[4]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[5]  Yaacov Choueka,et al.  Theories of Automata on omega-Tapes: A Simplified Approach , 1974, J. Comput. Syst. Sci..

[6]  Sheldon B. Akers,et al.  Binary Decision Diagrams , 1978, IEEE Transactions on Computers.

[7]  Robert K. Brayton,et al.  Algorithms for discrete function manipulation , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[8]  R. P. Kurshan,et al.  Reducibility in analysis of coordination , 1988 .

[9]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[10]  Robert K. Brayton,et al.  Implicit state enumeration of finite state machines using BDD's , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[11]  Chin-Laung Lei,et al.  Efficient Model Checking in Fragments of the Propositional Mu-Calculus (Extended Abstract) , 1986, LICS.

[12]  Fabio Somenzi,et al.  Variable ordering and selection of FSM traversal , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[13]  Robert P. Kurshan,et al.  Analysis of Discrete Event Coordination , 1989, REX Workshop.

[14]  Robert P. Kurshan,et al.  Software for analytical development of communications protocols , 1990, AT&T Technical Journal.

[15]  Robert K. Brayton,et al.  Efficient omega-Regular Language Containment , 1992, CAV.

[16]  Randal E. Bryant,et al.  Efficient implementation of a BDD package , 1991, DAC '90.