Higher-Level Specification and Verification with BDDs

Currently, many are investigating promising verification methods based on Boolean decision diagrams (BDDs). Using BDDs, however, requires modeling the system under verification in terms of Boolean formulas. This modeling can be difficult and error-prone, especially when dealing with constructs like arithmetic, sequential control flow, and complex data structures. We present new techniques for automatically translating these constructs into BDDs. Furthermore, these techniques generate Boolean next-state relations in a form that allows efficient image computation without building the full BDD for the next-state relation, thereby side-stepping the commonly-encountered BDD-size blowup of next-state relations.

[1]  David L. Dill,et al.  Formal verification of cache systems using refinement relations , 1990, Proceedings., 1990 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[2]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[3]  Thomas Filkorn Functional Extension of Symbolic Model Checking , 1991, CAV.

[4]  Alan J. Hu,et al.  Protocol verification as a hardware design aid , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[5]  Olivier Coudert,et al.  Verification of Synchronous Sequential Machines Based on Symbolic Execution , 1989, Automatic Verification Methods for Finite State Systems.

[6]  Alan J. Hu,et al.  Checking for Language Inclusion Using Simulation Preorders , 1991, CAV.

[7]  John McCarthy,et al.  SOME PHILOSOPHICAL PROBLEMS FROM THE STANDPOINT OF ARTI CIAL INTELLIGENCE , 1987 .

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

[9]  Edmund M. Clarke,et al.  Symbolic Model Checking with Partitioned Transistion Relations , 1991, VLSI.

[10]  Randal E. Bryant,et al.  Synchronous circuit verification by symbolic simulation: an illustration , 1990 .

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

[12]  Edmund M. Clarke,et al.  Sequential circuit verification using symbolic model checking , 1991, DAC '90.

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

[14]  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.