A Scalable and Nearly Uniform Generator of SAT Witnesses

Functional verification constitutes one of the most challenging tasks in the development of modern hardware systems, and simulation-based verification techniques dominate the functional verification landscape. A dominant paradigm in simulation-based verification is directed random testing, where a model of the system is simulated with a set of random test stimuli that are uniformly or near-uniformly distributed over the space of all stimuli satisfying a given set of constraints. Uniform or near-uniform generation of solutions for large constraint sets is therefore a problem of theoretical and practical interest. For Boolean constraints, prior work offered heuristic approaches with no guarantee of performance, and theoretical approaches with proven guarantees, but poor performance in practice. We offer here a new approach with theoretical performance guarantees and demonstrate its practical utility on large constraint sets.

[1]  A. K. Chandra,et al.  Constraint solving for test case generation: a technique for high-level design verification , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[2]  Mihir Bellare,et al.  Uniform Generation of NP-Witnesses Using an NP-Oracle , 2000, Inf. Comput..

[3]  Adnan Aziz,et al.  A Framework for Constrained Functional Verification , 2003, ICCAD 2003.

[4]  Andreas Kuehlmann,et al.  Stimulus generation for constrained random simulation , 2007, ICCAD 2007.

[5]  C. Pixley,et al.  Simplifying Boolean constraint solving for random simulation-vector generation , 2002, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[6]  Thomas Hofmann,et al.  Near-Uniform Sampling of Combinatorial Spaces Using XOR Constraints , 2007 .

[7]  Michael Sipser,et al.  A complexity theoretic approach to randomness , 1983, STOC.

[8]  Larry J. Stockmeyer,et al.  The complexity of approximate counting , 1983, STOC.

[9]  Adnan Darwiche,et al.  A compiler for deterministic, decomposable negation normal form , 2002, AAAI/IAAI.

[10]  Leslie G. Valiant,et al.  Random Generation of Combinatorial Structures from a Uniform Distribution , 1986, Theor. Comput. Sci..

[11]  Yehuda Naveh,et al.  Constraint-Based Random Stimuli Generation for Hardware Verification , 2006, AI Mag..

[12]  Toniann Pitassi,et al.  Algorithms and complexity results for #SAT and Bayesian inference , 2003, 44th Annual IEEE Symposium on Foundations of Computer Science, 2003. Proceedings..

[13]  Nikolaj Bjørner,et al.  Satisfiability modulo theories , 2011, Commun. ACM.

[14]  Noam Nisan,et al.  The computational complexity of universal hashing , 1990, Proceedings Fifth Annual Structure in Complexity Theory Conference.

[15]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[16]  Bart Selman,et al.  Towards Efficient Sampling: Exploiting Random Walk Strategies , 2004, AAAI.

[17]  Bart Selman,et al.  Model Counting: A New Strategy for Obtaining Good Bounds , 2006, AAAI.

[18]  Bob Bentley Validating a Modern Microprocessor , 2005, CAV.

[19]  Merav Aharoni,et al.  Simulation-Based Verification of Floating-Point Division , 2011, IEEE Transactions on Computers.

[20]  Igor L. Markov,et al.  Functional Design Errors in Digital Circuits - Diagnosis, Correction and Repair , 2009, Lecture Notes in Electrical Engineering.

[21]  Dan Roth,et al.  On the Hardness of Approximate Reasoning , 1993, IJCAI.