Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
Reasoning about networks with many identical finite state processes
Information and Computation
Symbolic model checking: 1020 states and beyond
Information and Computation - Special issue: Selections from 1990 IEEE symposium on logic in computer science
Zero-suppressed BDDs for set manipulation in combinatorial problems
DAC '93 Proceedings of the 30th international Design Automation Conference
Model checking and abstraction
ACM Transactions on Programming Languages and Systems (TOPLAS)
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dynamic variable ordering for ordered binary decision diagrams
ICCAD '93 Proceedings of the 1993 IEEE/ACM international conference on Computer-aided design
Representation and symbolic manipulation of linearly inductive Boolean functions
ICCAD '93 Proceedings of the 1993 IEEE/ACM international conference on Computer-aided design
Symbolic Model Checking
Efficient Boolean Manipulation with OBDD's Can be Extended to FBDD's
IEEE Transactions on Computers
Benchmark-Circuits for Hardware-Verification
TPCD '94 Proceedings of the Second International Conference on Theorem Provers in Circuit Design - Theory, Practice and Experience
A Performance Study of BDD-Based Model Checking
FMCAD '98 Proceedings of the Second International Conference on Formal Methods in Computer-Aided Design
Symmetry Reductions inModel Checking
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
Hierarchical Representations of Discrete Functions, with Application to Model Checking
CAV '94 Proceedings of the 6th International Conference on Computer Aided Verification
Trace theory for automatic hierarchical verification of speed-independent circuits
Trace theory for automatic hierarchical verification of speed-independent circuits
Functional term rewriting systems towards symbolic model-checking
International Journal of Critical Computer-Based Systems
Hi-index | 0.00 |
Normally a whole BDD is associated with its root node. We state that this is not necessarily the best choice. BDDs can be stored more memory efficient if a possibility is introduced that one node can represent several BDDs. BDDs made it possible to apply symbolic model checking [15] to systems which could not be verified with methods based on an explicit state space representation. However, they cannot always avoid an exponential blowup known as the state space explosion which is caused by the fact that the system is build through a composition of modules. We divide the variable index placed in the BDD nodes into two parts. Only one of it is included in the new nodes called CBDD-nodes. This allows the use of one BDD label, i.e. one BDD node, for different variables. Moreover a branching possibility at the end of a BDD-part is introduced such that BDD-parts situated in different layers of the BDD can be shared. A prototypical BDD-library was implemented that uses cyclic BDDs (CBDDs). It was used to verify examples out of the following domains: hardware verification, model checking and communication protocols. Some encouraging results have been achieved where it was possible to represent certain functions with a constant number of CBDD-nodes while classical BDDs grow linearly.