Abstract
We present OL1V3R, a solver for the SMT floating-point theory that is based on stochastic local search (SLS). We adapt for OL1V3R the key ingredients of related work on leveraging SLS to solve the SMT fixed-sized bit-vector theory, and confirm its effectiveness by comparing it with mature solvers. Finally, we discuss the limitations of OL1V3R and propose solutions to make it more powerful.
Supported in part by the National Science Foundation (NSF) awards CCF 1552975 and CCF 1704715.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
We made OL1V3R publicly available at https://github.com/soarlab/OL1V3R.
- 2.
The floating-point formats supported by OL1V3R depend on the capabilities of the underlying “bigfloat” library it employs to evaluate floating-point arithmetic.
References
Beyer, D., Löwe, S., Wendler, P.: Reliable benchmarking: requirements and solutions. Int. J. Softw. Tools Technol. Transfer (STTT) 21(1), 1–29 (2019). https://doi.org/10.1007/s10009-017-0469-y
Brain, M., Tinelli, C., Rümmer, P., Wahl, T.: An automatable formal semantics for IEEE-754 floating-point arithmetic. In: Proceedings of the IEEE International Symposium on Computer Arithmetic (ARITH), pp. 160–167 (2015). https://doi.org/10.1109/ARITH.2015.26
Cimatti, A., Griggio, A., Schaafsma, B.J., Sebastiani, R.: The MathSAT5 SMT solver. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013. LNCS, vol. 7795, pp. 93–107. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-36742-7_7
de Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78800-3_24
Fröhlich, A., Biere, A., Wintersteiger, C.M., Hamadi, Y.: Stochastic local search for satisfiability modulo theories. In: Proceedings of the AAAI Conference on Artificial Intelligence (AAAI), pp. 1136–1143 (2015)
Fu, Z., Su, Z.: XSat: a fast floating-point satisfiability solver. In: Chaudhuri, S., Farzan, A. (eds.) CAV 2016. LNCS, vol. 9780, pp. 187–209. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-41540-6_11
Hansen, P., Mladenović, N., Moreno Pérez, J.A.: Variable neighbourhood search: methods and applications. Ann. Oper. Res. 175(1), 367–407 (2010). https://doi.org/10.1007/s10479-009-0657-6
Hoos, H.H., Stützle, T.: Stochastic Local Search: Foundations and Applications. Elsevier, Amsterdam (2004)
Khadra, M.A.B., Stoffel, D., Kunz, W.: goSAT: floating-point satisfiability as global optimization. In: Proceedings of the Conference on Formal Methods in Computer Aided Design (FMCAD), pp. 11–14 (2017). https://doi.org/10.23919/FMCAD.2017.8102235
Liew, D.S.: Constraint solver based on coverage-guided fuzzing. https://github.com/delcypher/jfs
Liew, D.S.: Symbolic execution of verification languages and floating-point code. Ph.D. thesis, Imperial College London (2018)
The GNU MPFR library. https://www.mpfr.org
Niemetz, A., Preiner, M., Biere, A.: Propagation based local search for bit-precise reasoning. Formal Methods Syst. Des. (FMSD) 51(3), 608–636 (2017). https://doi.org/10.1007/s10703-017-0295-6
Rümmer, P., Wahl, T.: An SMT-LIB theory of binary floating-point arithmetic. In: Informal Proceedings of the International Workshop on Satisfiability Modulo Theories (SMT) (2010)
SMT-LIB benchmarks in the QF\(\_\)FP theory. https://clc-gitlab.cs.uiowa.edu:2443/SMT-LIB-benchmarks/QF_FP
SMT-LIB: The satisfiability modulo theories library. http://smtlib.cs.uiowa.edu
Toronto, N.: Arbitrary-precision floating-point numbers (Bigfloats). https://docs.racket-lang.org/math/bigfloat.html
White, B., et al.: An integrated experimental environment for distributed systems and networks. In: Proceedings of the Symposium on Operating Systems Design and Implementation (OSDI), pp. 255–270 (2002). https://doi.org/10.1145/844128.844152
Acknowledgements
We thank Dan Liew for answering our questions related to his work on JFS.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
He, S., Baranowski, M., Rakamarić, Z. (2019). Stochastic Local Search for Solving Floating-Point Constraints. In: Zamani, M., Zufferey, D. (eds) Numerical Software Verification. NSV 2019. Lecture Notes in Computer Science(), vol 11652. Springer, Cham. https://doi.org/10.1007/978-3-030-28423-7_5
Download citation
DOI: https://doi.org/10.1007/978-3-030-28423-7_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-28422-0
Online ISBN: 978-3-030-28423-7
eBook Packages: Computer ScienceComputer Science (R0)