On Parallel Scalable Uniform SAT Witness Generation

  • Supratik Chakraborty
  • Daniel J. Fremont
  • Kuldeep S. Meel
  • Sanjit A. Seshia
  • Moshe Y. Vardi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9035)


Constrained-random verification (CRV) is widely used in industry for validating hardware designs. The effectiveness of CRV depends on the uniformity of test stimuli generated from a given set of constraints. Most existing techniques sacrifice either uniformity or scalability when generating stimuli. While recent work based on random hash functions has shown that it is possible to generate almost uniform stimuli from constraints with 100,000+ variables, the performance still falls short of today’s industrial requirements. In this paper, we focus on pushing the performance frontier of uniform stimulus generation further. We present a random hashing-based, easily parallelizable algorithm, UniGen2, for sampling solutions of propositional constraints. UniGen2 provides strong and relevant theoretical guarantees in the context of CRV, while also offering significantly improved performance compared to existing almost-uniform generators. Experiments on a diverse set of benchmarks show that UniGen2 achieves an average speedup of about 20× over a state-of-the-art sampling algorithm, even when running on a single core. Moreover, experiments with multiple cores show that UniGen2 achieves a near-linear speedup in the number of cores, thereby boosting performance even further.


Hash Function Failure Probability Processor Core Conjunctive Normal Form Satisfying Assignment 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
  2. 2.
    Bellare, M., Goldreich, O., Petrank, E.: Uniform generation of NP-witnesses using an NP-oracle. Information and Computation 163(2), 510–526 (2000)CrossRefzbMATHMathSciNetGoogle Scholar
  3. 3.
    Bening, L., Foster, H.: Principles of verifiable RTL design – A functional coding style supporting verification processes. Springer (2001)Google Scholar
  4. 4.
    Chakraborty, S., Meel, K.S., Vardi, M.Y.: A scalable and nearly uniform generator of SAT witnesses. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 608–623. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  5. 5.
    Chakraborty, S., Meel, K.S., Vardi, M.Y.: A scalable approximate model counter. In: Schulte, C. (ed.) CP 2013. LNCS, vol. 8124, pp. 200–216. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  6. 6.
    Chakraborty, S., Meel, K.S., Vardi, M.Y.: Balancing scalability and uniformity in SAT-witness generator. In: Proc. of DAC, pp. 1–6 (2014)Google Scholar
  7. 7.
    Dechter, R., Kask, K., Bin, E., Emek, R.: Generating random solutions for constraint satisfaction problems. In: AAAI, pp. 15–21 (2002)Google Scholar
  8. 8.
    Eager, D.L., Zahorjan, J., Lazowska, E.D.: Speedup versus efficiency in parallel systems. IEEE Trans. on Computers 38(3), 408–423 (1989)CrossRefGoogle Scholar
  9. 9.
    Ermon, S., Gomes, C.P., Sabharwal, A., Selman, B.: Embed and project: Discrete sampling with universal hashing. In: Proc. of NIPS (2013)Google Scholar
  10. 10.
    Esmaeilzadeh, H., Blem, E., Amant, R.S., Sankaralingam, K., Burger, D.: Dark silicon and the end of multicore scaling. In: Proc. of ISCA, pp. 365–376 (2011)Google Scholar
  11. 11.
    Gogate, V., Dechter, R.: A new algorithm for sampling CSP solutions uniformly at random. In: Benhamou, F. (ed.) CP 2006. LNCS, vol. 4204, pp. 711–715. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  12. 12.
    Gomes, C.P., Sabharwal, A., Selman, B.: Near uniform sampling of combinatorial spaces using XOR constraints. In: Proc. of NIPS, pp. 670–676 (2007)Google Scholar
  13. 13.
    Grosse, I., Bernaola-Galván, P., Carpena, P., Román-Roldán, R., Oliver, J., Stanley, E.: Analysis of symbolic sequences using the Jensen-Shannon divergence. Physical Review E 65(4), 41905 (2002)CrossRefGoogle Scholar
  14. 14.
    Iyer, M.A.: Race: A word-level ATPG-based constraints solver system for smart random simulation. In: Proc. of ITC, pp. 299–308. Citeseer (2003)Google Scholar
  15. 15.
    Jerrum, M.R., Valiant, L.G., Vazirani, V.V.: Random generation of combinatorial structures from a uniform distribution. TCS 43(2-3), 169–188 (1986)CrossRefzbMATHMathSciNetGoogle Scholar
  16. 16.
    Kitchen, N.: Markov Chain Monte Carlo Stimulus Generation for Constrained Random Simulation. PhD thesis, University of California, Berkeley (2010)Google Scholar
  17. 17.
    Kitchen, N., Kuehlmann, A.: Stimulus generation for constrained random simulation. In: Proc. of ICCAD, pp. 258–265 (2007)Google Scholar
  18. 18.
    Madras, N.: Lectures on Monte Carlo Methods. Fields Institute Monographs, vol. 16. AMS (2002)Google Scholar
  19. 19.
    Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Proc. of DAC, pp. 530–535. ACM (2001)Google Scholar
  20. 20.
    Nadel, A.: Generating diverse solutions in SAT. In: Sakallah, K.A., Simon, L. (eds.) SAT 2011. LNCS, vol. 6695, pp. 287–301. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  21. 21.
    Naveh, R., Metodi, A.: Beyond feasibility: CP usage in constrained-random functional hardware verification. In: Schulte, C. (ed.) CP 2013. LNCS, vol. 8124, pp. 823–831. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  22. 22.
    Naveh, Y., Rimon, M., Jaeger, I., Katz, Y., Vinov, M., Marcus, E., Shurek, G.: Constraint-based random stimuli generation for hardware verification. In: Proc. of AAAI, pp. 1720–1727 (2006)Google Scholar
  23. 23.
    Sipser, M.: A complexity theoretic approach to randomness. In: Proc. of STOC, pp. 330–335 (1983)Google Scholar
  24. 24.
    Yuan, J., Aziz, A., Pixley, C., Albin, K.: Simplifying Boolean constraint solving for random simulation vector generation. TCAD 23(3), 412–420 (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Supratik Chakraborty
    • 1
  • Daniel J. Fremont
    • 2
  • Kuldeep S. Meel
    • 3
  • Sanjit A. Seshia
    • 2
  • Moshe Y. Vardi
    • 3
  1. 1.Indian Institute of TechnologyBombayIndia
  2. 2.University of CaliforniaBerkeleyUSA
  3. 3.Department of Computer ScienceRice UniversityHoustonUSA

Personalised recommendations