Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1007/978-3-031-27481-7_6guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

SMT Sampling via Model-Guided Approximation

Published: 06 March 2023 Publication History

Abstract

We investigate the domain of satisfiable formulas in satisfiability modulo theories (SMT), in particular, automatic generation of a multitude of satisfying assignments to such formulas. Despite the long and successful history of SMT in model checking and formal verification, this aspect is relatively under-explored. Prior work exists for generating such assignments, or samples, for Boolean formulas and for quantifier-free first-order formulas involving bit-vectors, arrays, and uninterpreted functions (QF_AUFBV). We propose a new approach that is suitable for a theory T of integer arithmetic and to T with arrays and uninterpreted functions. The approach involves reducing the general sampling problem to a simpler instance of sampling from a set of independent intervals, which can be done efficiently. Such reduction is carried out by expanding a single model—a seed—using top-down propagation of constraints along the original first-order formula.

References

[1]
Achlioptas D, Hammoudeh ZS, and Theodoropoulos P Beyersdorff O and Wintersteiger CM Fast sampling of perfectly uniform satisfying assignments Theory and Applications of Satisfiability Testing – SAT 2018 2018 Cham Springer 135-147
[2]
Agbaria, S., Carmi, D., Cohen, O., Korchemny, D., Lifshits, M., Nadel, A.: SAT-based semiformal verification of hardware. In: Formal Methods in Computer Aided Design, pp. 25–32 (2010)
[3]
Barrett C et al. Gopalakrishnan G, Qadeer S, et al. CVC4 Computer Aided Verification 2011 Heidelberg Springer 171-177
[4]
Barrett, C.W., Fontaine, P., Tinelli, C.: The satisfiability modulo theories library (SMT-LIB) (2021). https://smtlib.cs.uiowa.edu
[5]
Baumert S, Ghate A, Kiatsupaibul S, Shen Y, Smith RL, and Zabinsky ZB Discrete hit-and-run for sampling points from arbitrary distributions over subsets of integer hyperrectangles Oper. Res. 2009 57 3 727-739
[6]
Borralleras C, Brockschmidt M, Larraz D, Oliveras A, Rodríguez-Carbonell E, and Rubio A Legay A and Margaria T Proving termination through conditional termination Tools and Algorithms for the Construction and Analysis of Systems 2017 Berlin, Heidelberg Springer 99-117
[7]
Borzacchiello, L., Coppa, E., Demetrescu, C.: Fuzzing symbolic expressions. In: 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE) (2021).
[8]
Bryant RE, Kroening D, Ouaknine J, Seshia SA, Strichman O, and Brady B Grumberg O and Huth M Deciding bit-vector arithmetic with abstraction Tools and Algorithms for the Construction and Analysis of Systems 2007 Heidelberg Springer 358-372
[9]
Chakraborty S, Meel KS, and Vardi MY Sharygina N and Veith H A scalable and nearly uniform generator of SAT witnesses Computer Aided Verification 2013 Heidelberg Springer 608-623
[10]
Choi, J., Jang, J., Han, C., Cha, S.K.: Grey-box concolic testing on binary code. In: 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE), pp. 736–747. IEEE (2019)
[11]
Cimatti A, Griggio A, Schaafsma BJ, and Sebastiani R Piterman N and Smolka SA The MathSAT5 SMT solver Tools and Algorithms for the Construction and Analysis of Systems 2013 Cham Springer 93-107
[12]
Clarke, E., Kroening, D., Yorav, K.: Behavioral consistency of C and Verilog programs using bounded model checking. In: Proceedings of the Design Automation Conference, pp. 368–371. IEEE (2003)
[13]
Cousot, P., Cousot, R.: Static determination of dynamic properties of programs. In: Proceedings of the Second International Symposium on Programming, pp. 106–130. Dunod, Paris, France (1976)
[14]
Dutertre B Biere A and Bloem R Yices 2.2 Computer Aided Verification 2014 Cham Springer 737-744
[15]
Dutra, R., Bachrach, J., Sen, K.: SMTSampler: efficient stimulus generation from complex SMT constraints. In: 2018 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), pp. 1–8 (2018).
[16]
Dutra, R., Bachrach, J., Sen, K.: Guidedsampler: coverage-guided sampling of SMT solutions. In: 2019 Formal Methods in Computer Aided Design (FMCAD), pp. 203–211 (2019).
[17]
Dutra, R., Laeufer, K., Bachrach, J., Sen, K.: Efficient sampling of SAT solutions for testing. In: Chaudron, M., Crnkovic, I., Chechik, M., Harman, M. (eds.) Proceedings of the 40th International Conference on Software Engineering, ICSE 2018, Gothenburg, Sweden, 27 May–03 June 2018, pp. 549–559. ACM (2018).
[18]
Ermon, S., Gomes, C.P., Sabharwal, A., Selman, B.: Embed and project: discrete sampling with universal hashing. In: NIPS, pp. 2085–2093 (2013)
[19]
Ermon, S., Gomes, C.P., Selman, B.: Uniform solution sampling using a constraint solver as an oracle. arXiv preprint arXiv:1210.4861 (2012)
[20]
Giesl J, Thiemann R, Schneider-Kamp P, and Falke S van Oostrom V Automated termination proofs with AProVE Rewriting Techniques and Applications 2004 Heidelberg Springer 210-220
[21]
Glynn PW and Iglehart DL Importance sampling for stochastic simulations Manag. Sci. 1989 35 11 1367-1392
[22]
Gurfinkel, A., Kahsai, T., Komuravelli, A., Navas, J.A.: The seahorn verification framework. In: CAV (2015)
[23]
Hastings WK Monte carlo sampling methods using markov chains and their applications Biometrika 1970 57 1 97-109
[24]
Heizmann M, Hoenicke J, and Podelski A Sharygina N and Veith H Software model checking for people who love automata Computer Aided Verification 2013 Heidelberg Springer 36-52
[25]
Huang, H., Yao, P., Wu, R., Shi, Q., Zhang, C.: Pangolin: incremental hybrid fuzzing with polyhedral path abstraction. In: 2020 IEEE Symposium on Security and Privacy (SP), pp. 1613–1627. IEEE (2020)
[26]
Kitchen, N.: Markov Chain Monte Carlo Stimulus Generation for Constrained Random Simulation. Ph.D. thesis, University of California, Berkeley, USA (2010). http://www.escholarship.org/uc/item/6gp3z1t0
[27]
Kitchen, N., Kuehlmann, A.: Stimulus generation for constrained random simulation. In: Gielen, G.G.E. (ed.) 2007 International Conference on Computer-Aided Design, ICCAD 2007, San Jose, CA, USA, 5–8 November 2007, pp. 258–265. IEEE Computer Society (2007).
[28]
Komuravelli A, Gurfinkel A, and Chaki S SMT-based model checking for recursive programs Formal Methods Syst. Des. 2016 48 3 175-205
[29]
Liu JS Metropolized independent sampling with comparisons to rejection sampling and importance sampling Stat. Comput. 1996 6 2 113-119
[30]
Meel, K.S.: Sampling techniques for Boolean satisfiability. CoRR abs/1404.6682 (2014). http://arxiv.org/abs/1404.6682
[31]
Meel, K.S., et al.: Constrained sampling and counting: Universal hashing meets sat solving. In: Workshops at the Thirtieth AAAI Conference on Artificial Intelligence (2016)
[32]
de Moura L and Bjørner N Ramakrishnan CR and Rehof J Z3: an efficient SMT solver Tools and Algorithms for the Construction and Analysis of Systems 2008 Heidelberg Springer 337-340
[33]
Nadel A Sakallah KA and Simon L Generating diverse solutions in SAT Theory and Applications of Satisfiability Testing - SAT 2011 2011 Heidelberg Springer 287-301
[34]
Naveh Y et al. Constraint-based random stimuli generation for hardware verification AI Mag. 2007 28 33 13-13
[35]
Ozols, M., Roetteler, M., Roland, J.: Quantum rejection sampling. ACM Trans. Comput. Theory 5(3), 11:1–11:33 (2013)
[36]
Peled, M., Rothenberg, B.C., Itzhaky, S.: SMT sampling via model-guided approximation. CoRR (arXiv) (2022)
[37]
van Ravenzwaaij D, Cassey P, and Brown SD A simple introduction to Markov chain monte-Carlo sampling Psychon. Bull. Rev. 2018 25 1 143-154
[38]
Shapiro, A.: Monte Carlo sampling methods, stochastic programming, vol. 10, pp. 353–425. Elsevier (2003)
[39]
Sharma, S., Gupta, R., Roy, S., Meel, K.S.: Knowledge compilation meets uniform sampling. In: LPAR, pp. 620–636 (2018)
[40]
Tokdar ST and Kass RE Importance sampling: a review WIREs Comput. Stat. 2010 2 1 54-60
[41]
Wei, W., Erenrich, J., Selman, B.: Towards efficient sampling: exploiting random walk strategies. In: AAAI, Vol. 4, pp. 670–676 (2004)
[42]
Yao, P., Shi, Q., Huang, H., Zhang, C.: Fast bit-vector satisfiability. In: Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 38–50 (2020)

Cited By

View all
  • (2024)Neural Solving Uninterpreted Predicates with Abstract Gradient DescentACM Transactions on Software Engineering and Methodology10.1145/367539433:8(1-47)Online publication date: 2-Jul-2024
  • (2023)PSMT: Satisfiability Modulo Theories Meets Probability DistributionProceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE56229.2023.00183(1756-1760)Online publication date: 11-Nov-2023

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
Formal Methods: 25th International Symposium, FM 2023, Lübeck, Germany, March 6–10, 2023, Proceedings
Mar 2023
660 pages
ISBN:978-3-031-27480-0
DOI:10.1007/978-3-031-27481-7

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 06 March 2023

Author Tags

  1. SMT sampling
  2. Under-approximation
  3. SMT
  4. Satisfiability modulo theories
  5. Model-guided approximation

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 11 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Neural Solving Uninterpreted Predicates with Abstract Gradient DescentACM Transactions on Software Engineering and Methodology10.1145/367539433:8(1-47)Online publication date: 2-Jul-2024
  • (2023)PSMT: Satisfiability Modulo Theories Meets Probability DistributionProceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE56229.2023.00183(1756-1760)Online publication date: 11-Nov-2023

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media