Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3597926.3598034acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article
Open access

Improving Bit-Blasting for Nonlinear Integer Constraints

Published: 13 July 2023 Publication History
  • Get Citation Alerts
  • Abstract

    Nonlinear integer constraints are common and difficult in the verification and analysis of software/hardware. SMT(QF_NIA) generalizes such constraints, which is a boolean combination of nonlinear integer arithmetic constraints. A classical method to solve SMT(QF_NIA) is bit-blasting, which reduces them to boolean satisfiability problems. Currently, the existing pure bit-blasting based solvers are noncompetitive with other state-of-the-art SMT solvers. The bit-blasting based methods have some problems: First, the bit-blasting method is hampered by nonlinear multiplication operations; second, it sometimes does not search in a proper search space; and third, it contains some redundancy.
    In this paper, we focus on improving the efficiency of bit-blasting based method. To decide on a proper search space, we proposed an adaptive function for hard nonlinear multiplications, and heuristic strategies to analyze specific constraints. We also found that different orders in successive additions will result in bit vectors with different bit-widths. We proposed an optimal order decision algorithm to save redundancy in successive additions. We implement a solver with the proposed methods named BLAN. Experiments demonstrate that BLAN outperforms other state-of-the-art SMT solvers (APROVE, CVC5, MATHSAT, YICES2, Z3) on the satisfiable SMT(QF_NIA) instances in SMT-LIB. We provide an outlook of BLAN on solving unsatisfiable instances via combining with other solvers. Sensitivity analysis also demonstrates the effectiveness of the proposed methods.

    References

    [1]
    Dennis S. Arnon, George E. Collins, and Scott McCallum. 1984. Cylindrical Algebraic Decomposition I: The Basic Algorithm. SIAM J. Comput. 13, 4 ( 1984 ), 865-877. https://doi.org/10.1137/0213054
    [2]
    Roberto Baldoni, Emilio Coppa, Daniele Cono D'Elia, Camil Demetrescu, and Irene Finocchi. 2018. A Survey of Symbolic Execution Techniques. ACM Comput. Surv. 51, 3 ( 2018 ), 50 : 1-50 : 39. https://doi.org/10.1145/3182657
    [3]
    Haniel Barbosa, Clark W. Barrett, Martin Brain, Gereon Kremer, Hanna Lachnitt, Makai Mann, Abdalrhman Mohamed, Mudathir Mohamed, Aina Niemetz, Andres Nötzli, Alex Ozdemir, Mathias Preiner, Andrew Reynolds, Ying Sheng, Cesare Tinelli, and Yoni Zohar. 2022. cvc5: A Versatile and Industrial-Strength SMT Solver. In TACAS 2022, Dana Fisman and Grigore Rosu (Eds.), Vol. 13243. 415-442.
    [4]
    Clark Barrett, Pascal Fontaine, and Cesare Tinelli. 2017. The SMT-LIB Standard: Version 2.6. Technical Report. Department of Computer Science, The University of Iowa. Available at www. SMT-LIB.org.
    [5]
    Clark W. Barrett, Leonardo Mendonça de Moura, and Aaron Stump. 2005. SMTCOMP: Satisfiability Modulo Theories Competition. In CAV 2005 (Lecture Notes in Computer Science, Vol. 3576 ), Kousha Etessami and Sriram K. Rajamani (Eds.). Springer, 20-23. https://doi.org/10.1007/11513988_4
    [6]
    Armin Biere, Alessandro Cimatti, Edmund M. Clarke, and Yunshan Zhu. 1999. Symbolic Model Checking without BDDs. In TACAS 1999 (Lecture Notes in Computer Science, Vol. 1579 ), Rance Cleaveland (Ed.). Springer, 193-207. https: //doi.org/10.1007/3-540-49059-0_14
    [7]
    Armin Biere, Katalin Fazekas, Mathias Fleury, and Maximillian Heisinger. 2020. CaDiCaL, Kissat, Paracooba, Plingeling and Treengeling Entering the SAT Competition 2020. In Proc. of SAT Competition 2020-Solver and Benchmark Descriptions, Tomas Balyo, Nils Froleyks, Marijn Heule, Markus Iser, Matti Järvisalo, and Martin Suda (Eds.), Vol. B-2020-1. 51-53.
    [8]
    Cristina Borralleras, Daniel Larraz, Enric Rodríguez-Carbonell, Albert Oliveras, and Albert Rubio. 2019. Incomplete SMT Techniques for Solving Non-Linear Formulas over the Integers. ACM Trans. Comput. Log. 20, 4 ( 2019 ), 25 : 1-25 : 36. https://doi.org/10.1145/3340923
    [9]
    Cristina Borralleras, Salvador Lucas, Rafael Navarro-Marset, Enric RodríguezCarbonell, and Albert Rubio. 2009. Solving Non-linear Polynomial Arithmetic via SAT Modulo Linear Arithmetic. In CADE 2009 (Lecture Notes in Computer Science, Vol. 5663 ), Renate A. Schmidt (Ed.). Springer, 294-305. https://doi.org/10.1007/978-3-642-02959-2_23
    [10]
    Martin Brain. 2021. Further Steps Down The Wrong Path: Improving the BitBlasting of Multiplication. In CAV 2021, Alexander Nadel and Aina Niemetz (Eds.), Vol. 2908. 23-31.
    [11]
    Robert Brummayer and Armin Biere. 2009. Boolector: An Eficient SMT Solver for Bit-Vectors and Arrays. In TACAS 2009, Stefan Kowalewski and Anna Philippou (Eds.), Vol. 5505. 174-177.
    [12]
    Roberto Bruttomesso, Alessandro Cimatti, Anders Franzén, Alberto Griggio, Ziyad Hanna, Alexander Nadel, Amit Palti, and Roberto Sebastiani. 2007. A Lazy and Layered SMT($\mathcal{BV}$) Solver for Hard Industrial Verification Problems. In CAV 2007 (Lecture Notes in Computer Science, Vol. 4590 ), Werner Damm and Holger Hermanns (Eds.). Springer, 547-560. https://doi.org/10.1007/ 978-3-540-73368-3_54
    [13]
    Alessandro Cimatti, Alberto Griggio, Ahmed Irfan, Marco Roveri, and Roberto Sebastiani. 2017. Invariant Checking of NRA Transition Systems via Incremental Reduction to LRA with EUF. In TACAS 2017, Axel Legay and Tiziana Margaria (Eds.), Vol. 10205. 58-75.
    [14]
    Alessandro Cimatti, Alberto Griggio, Ahmed Irfan, Marco Roveri, and Roberto Sebastiani. 2018. Experimenting on Solving Nonlinear Integer Arithmetic with Incremental Linearization. In SAT 2018, Olaf Beyersdorf and Christoph M. Wintersteiger (Eds.), Vol. 10929. 383-398.
    [15]
    Alessandro Cimatti, Alberto Griggio, Bastiaan Joost Schaafsma, and Roberto Sebastiani. 2013. The MathSAT5 SMT Solver. In TACAS 2013, Nir Piterman and Scott A. Smolka (Eds.), Vol. 7795. 93-107.
    [16]
    Byron Cook, Daniel Kroening, and Natasha Sharygina. 2005. Cogent: Accurate Theorem Proving for Program Verification. In CAV 2005 (Lecture Notes in Computer Science, Vol. 3576 ), Kousha Etessami and Sriram K. Rajamani (Eds.). Springer, 296-300. https://doi.org/10.1007/11513988_30
    [17]
    Hernán Ponce de León, Florian Furbach, Keijo Heljanko, and Roland Meyer. 2020. Dartagnan: Bounded Model Checking for Weak Memory Models (Competition Contribution). In TACAS 2020 (Lecture Notes in Computer Science, Vol. 12079 ), Armin Biere and David Parker (Eds.). Springer, 378-382. https://doi.org/10.1007/ 978-3-030-45237-7_24
    [18]
    Leonardo Mendonça de Moura and Nikolaj Bjørner. 2008. Z3: An Eficient SMT Solver. In TACAS 2008, C. R. Ramakrishnan and Jakob Rehof (Eds.), Vol. 4963. 337-340.
    [19]
    Leonardo Mendonça de Moura and Nikolaj S. Bjørner. 2008. Proofs and Refutations, and Z3. In LPAR 2008 Workshops (CEUR Workshop Proceedings, Vol. 418 ), Piotr Rudnicki, Geof Sutclife, Boris Konev, Renate A. Schmidt, and Stephan Schulz (Eds.). CEUR-WS.org. http://ceur-ws. org/ Vol-418 /paper10.pdf
    [20]
    Leonardo Mendonça de Moura and Grant Olney Passmore. 2013. The Strategy Challenge in SMT Solving. In Automated Reasoning and Mathematics-Essays in Memory of William W. McCune, Maria Paola Bonacina and Mark E. Stickel (Eds.), Vol. 7788. 15-44.
    [21]
    Peter Dinges and Gul A. Agha. 2014. Targeted test input generation using symbolic-concrete backward execution. In ASE 2014, Ivica Crnkovic, Marsha Chechik, and Paul Grünbacher (Eds.). ACM, 31-36. https://doi.org/10.1145/ 2642937.2642951
    [22]
    Oscar Soria Dustmann, Klaus Wehrle, and Cristian Cadar. 2018. PARTI: a multiinterval theory solver for symbolic execution. In ASE 2018, Marianne Huchard, Christian Kästner, and Gordon Fraser (Eds.). 430-440.
    [23]
    Bruno Dutertre. 2014. Yices 2.2. In CAV 2014, Armin Biere and Roderick Bloem (Eds.), Vol. 8559. 737-744.
    [24]
    Jörg Endrullis, Johannes Waldmann, and Hans Zantema. 2008. Matrix Interpretations for Proving Termination of Term Rewriting. J. Autom. Reason. 40, 2-3 ( 2008 ), 195-220.
    [25]
    Martin Fränzle, Christian Herde, Tino Teige, Stefan Ratschan, and Tobias Schubert. 2007. Eficient Solving of Large Non-linear Arithmetic Constraint Systems with Complex Boolean Structure. J. Satisf. Boolean Model. Comput. 1, 3-4 ( 2007 ), 209-236. https://doi.org/10.3233/sat190012
    [26]
    Carsten Fuhs, Jürgen Giesl, Aart Middeldorp, Peter Schneider-Kamp, René Thiemann, and Harald Zankl. 2007. SAT Solving for Termination Analysis with Polynomial Interpretations. In SAT 2007, João Marques-Silva and Karem A. Sakallah (Eds.), Vol. 4501. 340-354.
    [27]
    Natalia Gavrilenko, Hernán Ponce de León, Florian Furbach, Keijo Heljanko, and Roland Meyer. 2019. BMC for Weak Memory Models: Relation Analysis for Compact SMT Encodings. In CAV 2019 (Lecture Notes in Computer Science, Vol. 11561 ), Isil Dillig and Serdar Tasiran (Eds.). Springer, 355-365. https://doi. org/10.1007/978-3-030-25540-4_19
    [28]
    Martin Gebser, Max Ostrowski, and Torsten Schaub. 2009. Constraint Answer Set Solving. In ICLP 2009 (Lecture Notes in Computer Science, Vol. 5649 ), Patricia M. Hill and David Scott Warren (Eds.). Springer, 235-249. https://doi.org/10.1007/978-3-642-02846-5_22
    [29]
    Jürgen Giesl, Cornelius Aschermann, Marc Brockschmidt, Fabian Emmes, Florian Frohn, Carsten Fuhs, Jera Hensel, Carsten Otto, Martin Plücker, Peter SchneiderKamp, Thomas Ströder, Stephanie Swiderski, and René Thiemann. 2017. Analyzing Program Termination and Complexity Automatically with AProVE. J. Autom. Reason. 58, 1 ( 2017 ), 3-31.
    [30]
    Jürgen Giesl, Marc Brockschmidt, Fabian Emmes, Florian Frohn, Carsten Fuhs, Carsten Otto, Martin Plücker, Peter Schneider-Kamp, Thomas Ströder, Stephanie Swiderski, and René Thiemann. 2014. Proving Termination of Programs Automatically with AProVE. In IJCAR 2014, Stéphane Demri, Deepak Kapur, and Christoph Weidenbach (Eds.), Vol. 8562. 184-191.
    [31]
    Liana Hadarean, Kshitij Bansal, Dejan Jovanovic, Clark W. Barrett, and Cesare Tinelli. 2014. A Tale of Two Solvers: Eager and Lazy Approaches to Bit-Vectors. In VSL 2014 (Lecture Notes in Computer Science, Vol. 8559 ), Armin Biere and Roderick Bloem (Eds.). Springer, 680-695. https://doi.org/10.1007/978-3-319-08867-9_45
    [32]
    Matthias Heizmann, Daniel Dietsch, Jan Leike, Betim Musa, and Andreas Podelski. 2015. Ultimate Automizer with Array Interpolation-(Competition Contribution). In TACAS 2015 (Lecture Notes in Computer Science, Vol. 9035 ). Springer, 455-457. https://doi.org/10.1007/978-3-662-46681-0_43
    [33]
    Dejan Jovanovic. 2017. Solving Nonlinear Integer Arithmetic with MCSAT. In VMCAI 2017, Ahmed Bouajjani and David Monniaux (Eds.), Vol. 10145. 330-346.
    [34]
    Dejan Jovanovic and Leonardo Mendonça de Moura. 2012. Solving Non-linear Arithmetic. In IJCAR 2012, Bernhard Gramlich, Dale Miller, and Uli Sattler (Eds.), Vol. 7364. 339-354.
    [35]
    Dejan Jovanovic and Bruno Dutertre. 2017. LibPoly: A Library for Reasoning about Polynomials. In CAV 2017, Martin Brain and Liana Hadarean (Eds.), Vol. 1889. 28-39.
    [36]
    Daniela Kaufmann, Armin Biere, and Manuel Kauers. 2020. From DRUP to PAC and Back. In DATE 2020. IEEE, 654-657. https://doi.org/10.23919/DATE48585. 2020.9116276
    [37]
    Gereon Kremer, Florian Corzilius, and Erika Ábrahám. 2016. A Generalised Branch-and-Bound Approach and Its Application in SAT Modulo Nonlinear Integer Arithmetic. In CASC 2016, Vladimir P. Gerdt, Wolfram Koepf, Werner M. Seiler, and Evgenii V. Vorozhtsov (Eds.), Vol. 9890. 315-335.
    [38]
    Daniel Kroening and Ofer Strichman. 2016. Bit Vectors. Springer Berlin Heidelberg, Berlin, Heidelberg, 135-156. https://doi.org/10.1007/978-3-662-50497-0_6
    [39]
    Jan Leike and Matthias Heizmann. 2018. Geometric Nontermination Arguments. In TACAS 2018 (Lecture Notes in Computer Science, Vol. 10806 ), Dirk Beyer and Marieke Huisman (Eds.). Springer, 266-283. https://doi.org/10.1007/978-3-319-89963-3_16
    [40]
    Nuno P. Lopes, Levent Aksoy, Vasco M. Manquinho, and José Monteiro. 2010. Optimally Solving the MCM Problem Using Pseudo-Boolean Satisfiability. CoRR abs/1011.2685 ( 2010 ).
    [41]
    Y. V. Matiyasevich. 1993. Hilbert's tenth problem. MIT press.
    [42]
    Aina Niemetz and Mathias Preiner. 2020. Bitwuzla at the SMT-COMP 2020. CoRR abs/ 2006.01621 ( 2020 ).
    [43]
    Corina S. Pasareanu, Neha Rungta, and Willem Visser. 2011. Symbolic execution with mixed concrete-symbolic solving. In ISSTA 2011, Matthew B. Dwyer and Frank Tip (Eds.). ACM, 34-44. https://doi.org/10.1145/2001420.2001425
    [44]
    Hao Ren, Devesh Bhatt, and Jan Hvozdovic. 2016. Improving an Industrial Test Generation Tool Using SMT Solver. In NFM 2016 (Lecture Notes in Computer Science, Vol. 9690 ), Sanjai Rayadurgam and Oksana Tkachuk (Eds.). Springer, 100-106. https://doi.org/10.1007/978-3-319-40648-0_8
    [45]
    Rahul Sharma, Saurabh Gupta, Bharath Hariharan, Alex Aiken, Percy Liang, and Aditya V. Nori. 2013. A Data Driven Approach for Algebraic Loop Invariants. In ESOP 2013 (Lecture Notes in Computer Science, Vol. 7792 ). Springer, 574-592. https://doi.org/10.1007/978-3-642-37036-6_31
    [46]
    Eli Singerman. 2005. Challenges in making decision procedures applicable to industry. Proc. PDPAR'05 144, 2 ( 2005 ).
    [47]
    Aaron Stump, Duckki Oe, Andrew Reynolds, Liana Hadarean, and Cesare Tinelli. 2013. SMT proof checking using a logical framework. Formal Methods Syst. Des. 42, 1 ( 2013 ), 91-118. https://doi.org/10.1007/s10703-012-0163-3
    [48]
    Tjark Weber. 2016. Scrambling and Descrambling SMT-LIB Benchmarks. In SMT@IJCAR 2016 (CEUR Workshop Proceedings, Vol. 1617 ). CEUR-WS.org, 31-40. http://ceur-ws. org/ Vol-1617 /paper3.pdf
    [49]
    Peisen Yao, Qingkai Shi, Heqing Huang, and Charles Zhang. 2020. Fast bit-vector satisfiability. In ISSTA 2020, Sarfraz Khurshid and Corina S. Pasareanu (Eds.). 38-50.
    [50]
    Harald Zankl and Aart Middeldorp. 2010. Satisfiability of Non-linear (Ir)rational Arithmetic. In Logic for Programming, Artificial Intelligence, and Reasoning-16th International Conference, LPAR-16, Edmund M. Clarke and Andrei Voronkov (Eds.), Vol. 6355. 481-500.

    Cited By

    View all
    • (2023)PSMT: Satisfiability Modulo Theories Meets Probability Distribution2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00183(1756-1760)Online publication date: 11-Sep-2023
    • (2023)NRAgo: Solving SMT(NRA) Formulas with Gradient-Based Optimization2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00013(2046-2049)Online publication date: 11-Sep-2023

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ISSTA 2023: Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis
    July 2023
    1554 pages
    ISBN:9798400702211
    DOI:10.1145/3597926
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 13 July 2023

    Permissions

    Request permissions for this article.

    Check for updates

    Badges

    Author Tags

    1. nonlinear integer constraints
    2. satisfiability modulo theories

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    ISSTA '23
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 58 of 213 submissions, 27%

    Upcoming Conference

    ISSTA '24

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)356
    • Downloads (Last 6 weeks)49
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)PSMT: Satisfiability Modulo Theories Meets Probability Distribution2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00183(1756-1760)Online publication date: 11-Sep-2023
    • (2023)NRAgo: Solving SMT(NRA) Formulas with Gradient-Based Optimization2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00013(2046-2049)Online publication date: 11-Sep-2023

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media