Skip to main content

Diversifying a Parallel SAT Solver with Bayesian Moment Matching

  • Conference paper
  • First Online:
Dependable Software Engineering. Theories, Tools, and Applications (SETTA 2022)

Abstract

In this paper, we present a Bayesian Moment Matching (BMM) in-processing technique for Conflict-Driven Clause-Learning (CDCL) SAT solvers. BMM is a probabilistic algorithm which takes as input a Boolean formula in conjunctive normal form and a prior on a possible satisfying assignment, and outputs a posterior for a new assignment most likely to maximize the number of satisfied clauses. We invoke this BMM method, as an in-processing technique, with the goal of updating the polarity and branching activity scores. The key insight underpinning our method is that Bayesian reasoning is a powerful way to guide the CDCL search procedure away from fruitless parts of the search space of a satisfiable Boolean formula, and towards those regions that are likely to contain satisfying assignments.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The function implements the Boolean constraint propagation (BCP) procedure that forces (in cascade) the values of variables in unit clauses [6].

  2. 2.

    These magic numbers are borrowed from the base solver that we used for our implementation.

  3. 3.

    https://satcompetition.github.io/2021/.

  4. 4.

    https://github.com/lip6/painless/tree/bmm.

References

  1. Audemard, G., Simon, L.: Predicting learnt clauses quality in modern sat solvers. In: Proceedings of the 21st International Joint Conferences on Artificial Intelligence (IJCAI), pp. 399–404. AAAI Press (2009)

    Google Scholar 

  2. Avgerinos, T., Cha, S.K., Hao, B.L.T., Brumley, D.: AEG: Automatic exploit generation. In: Network and Distributed System Security Symposium (2011)

    Google Scholar 

  3. Bradley, A.R.: SAT-based model checking without unrolling. In: Jhala, R., Schmidt, D. (eds.) VMCAI 2011. LNCS, vol. 6538, pp. 70–87. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-18275-4_7

    Chapter  Google Scholar 

  4. Bright, C., Kotsireas, I., Ganesh, V.: The science of less-than-brute force: when satisfiability solving meets symbolic computation. In: Communications of the ACM (CACM). ACM (2022)

    Google Scholar 

  5. Cadar, C., Ganesh, V., Pawlowski, P.M., Dill, D.L., Engler, D.R.: EXE: automatically generating inputs of death. ACM Trans. Inf. Sys. Secur. (TISSEC) 12(2), 10 (2008)

    Google Scholar 

  6. Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving. Communun. ACM 5(7), 394–397 (1962)

    Article  MathSciNet  MATH  Google Scholar 

  7. Duan, H., Nejati, S., Trimponias, G., Poupart, P., Ganesh, V.: Online bayesian moment matching based sat solver heuristics. In: International Conference on Machine Learning, pp. 2710–2719. PMLR (2020)

    Google Scholar 

  8. Hamadi, Y., Jabbour, S., Sais, L.: ManySAT: a parallel sat solver. J. Satisfiability Boolean Model. Comput. 6(4), 245–262 (2009)

    Article  MATH  Google Scholar 

  9. Le Frioux, L., Baarir, S., Sopena, J., Kordon, F.: PaInleSS: a framework for parallel SAT solving. In: Gaspers, S., Walsh, T. (eds.) SAT 2017. LNCS, vol. 10491, pp. 233–250. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66263-3_15

    Chapter  Google Scholar 

  10. Liang, J.H., Oh, C., Mathew, M., Thomas, C., Li, C., Ganesh, V.: Machine learning-based restart policy for CDCL SAT solvers. In: Beyersdorff, O., Wintersteiger, C.M. (eds.) SAT 2018. LNCS, vol. 10929, pp. 94–110. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-94144-8_6

    Chapter  Google Scholar 

  11. Nejati, S., Ganesh, V.: CDCL (crypto) SAT solvers for cryptanalysis. arXiv preprint arXiv:2005.13415 (2020)

  12. Riveros, O.: Slime SAT solver. In: Proceedings of SAT Competition 2021: Solver and Benchmark Descriptions, p. 37. Department of Computer Science, University of Helsinki, Finland (2021)

    Google Scholar 

  13. Vallade, V., et al.: New concurrent and distributed painless solvers: P-MCOMSPS, P-MCOMSPS-com, P-MCOMSPS-MPI, and P-MCOMSPS-com-MPI. In: Proceedings of SAT Competition 2021: Solver and Benchmark Descriptions, p. 40. Department of Computer Science, University of Helsinki, Finland (2021)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vincent Vallade .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Vallade, V., Nejati, S., Sopena, J., Baarir, S., Ganesh, V. (2022). Diversifying a Parallel SAT Solver with Bayesian Moment Matching. In: Dong, W., Talpin, JP. (eds) Dependable Software Engineering. Theories, Tools, and Applications. SETTA 2022. Lecture Notes in Computer Science, vol 13649. Springer, Cham. https://doi.org/10.1007/978-3-031-21213-0_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-21213-0_14

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-21212-3

  • Online ISBN: 978-3-031-21213-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics