Bounded Model Checking (BMC) based on Boolean Satisfiability (SAT) procedures has recently gained popularity as an alternative to BDD-based model checking techniques for finding bugs in large designs. In this paper, we explore the use of learning from BDDs, where learned clauses generated by BDD-based analysis are added to the SAT solver, to supplement its other learning mechanisms. We propose several heuristics for guiding this process, aimed at increasing the usefulness of the learned clauses, while reducing the overheads. We demonstrate the effectiveness of our approach on several industrial designs, where BMC performance is improved and the design can be searched up to a greater depth by use of BDD-based learning. Categories and Subject Descriptors B.6.3 [Design Aids]: Verification. General Terms Algorithms, Performance, Experimentation. Keywords Boolean Satisfiability, SAT, SAT solvers, BDDs, learning, BDD learning, bounded model checking, property checking.
Aarti Gupta, Malay K. Ganai, Chao Wang, Zijiang Ya