Interpolating bit-vector formulas using uninterpreted predicates and Presburger arithmetic

被引:0
|
作者
Peter Backeman
Philipp Rümmer
Aleksandar Zeljić
机构
[1] Mälardalen University,Department of Information Technology
[2] Uppsala University,undefined
[3] Stanford University,undefined
来源
关键词
Bit-vectors; Interpolation; Quantifier elimination; Presburger arithmetic;
D O I
暂无
中图分类号
学科分类号
摘要
The inference of program invariants over machine arithmetic, commonly called bit-vector arithmetic, is an important problem in verification. Techniques that have been successful for unbounded arithmetic, in particular Craig interpolation, have turned out to be difficult to generalise to machine arithmetic: existing bit-vector interpolation approaches are based either on eager translation from bit-vectors to unbounded arithmetic, resulting in complicated constraints that are hard to solve and interpolate, or on bit-blasting to propositional logic, in the process losing all arithmetic structure. We present a new approach to bit-vector interpolation, as well as bit-vector quantifier elimination (QE), that works by lazy translation of bit-vector constraints to unbounded arithmetic. Laziness enables us to fully utilise the information available during proof search (implied by decisions and propagation) in the encoding, and this way produce constraints that can be handled relatively easily by existing interpolation and QE procedures for Presburger arithmetic. The lazy encoding is complemented with a set of native proof rules for bit-vector equations and non-linear (polynomial) constraints, this way minimising the number of cases a solver has to consider. We also incorporate a method for handling concatenations and extractions of bit-vector efficiently.
引用
收藏
页码:121 / 156
页数:35
相关论文
共 24 条
  • [1] Interpolating bit-vector formulas using uninterpreted predicates and Presburger arithmetic
    Backeman, Peter
    Rummer, Philipp
    Zeljic, Aleksandar
    FORMAL METHODS IN SYSTEM DESIGN, 2021, 57 (02) : 121 - 156
  • [2] Deciding bit-vector arithmetic with abstraction
    Bryant, Randal E.
    Kroening, Daniel
    Ouaknine, Joel
    Seshia, Sanjit A.
    Strichman, Ofer
    Brady, Bryan
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS, 2007, 4424 : 358 - +
  • [3] Deciding Bit-Vector Formulas with mcSAT
    Zeljic, Aleksandar
    Wintersteiger, Christoph M.
    Rummer, Philipp
    THEORY AND APPLICATIONS OF SATISFIABILITY TESTING - SAT 2016, 2016, 9710 : 249 - 266
  • [4] Matching Multiplications in Bit-Vector Formulas
    Chakraborty, Supratik
    Gupta, Ashutosh
    Jain, Rahul
    VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, VMCAI 2017, 2017, 10145 : 131 - 150
  • [5] A decision procedure for bit-vector arithmetic
    Barrett, CW
    Dill, DL
    Levitt, JR
    1998 DESIGN AUTOMATION CONFERENCE, PROCEEDINGS, 1998, : 522 - 527
  • [6] Efficiently solving quantified bit-vector formulas
    Christoph M. Wintersteiger
    Youssef Hamadi
    Leonardo de Moura
    Formal Methods in System Design, 2013, 42 : 3 - 23
  • [7] URBiVA: Uniform Reduction to Bit-Vector Arithmetic
    Maric, Filip
    Janicic, Predrag
    AUTOMATED REASONING, 2010, 6173 : 346 - 352
  • [8] Efficiently solving quantified bit-vector formulas
    Wintersteiger, Christoph M.
    Hamadi, Youssef
    de Moura, Leonardo
    FORMAL METHODS IN SYSTEM DESIGN, 2013, 42 (01) : 3 - 23
  • [9] Solving Quantified Bit-Vector Formulas Using Binary Decision Diagrams
    Jonas, Martin
    Strejcek, Jan
    THEORY AND APPLICATIONS OF SATISFIABILITY TESTING - SAT 2016, 2016, 9710 : 267 - 283
  • [10] On the complexity of the quantified bit-vector arithmetic with binary encoding
    Jonas, M.
    Strejcek, J.
    INFORMATION PROCESSING LETTERS, 2018, 135 : 57 - 61