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 条
  • [21] Minimal-memory bit-vector architecture for computational mathematical morphology using subspace projections
    Handley, JC
    IEEE TRANSACTIONS ON IMAGE PROCESSING, 2005, 14 (08) : 1088 - 1095
  • [22] Compact Representation of Time-Index Job Shop Problems Using a Bit-Vector Formulation
    Roselli, Sabino Francesco
    Bengtsson, Kristofer
    Akesson, Knut
    2020 IEEE 16TH INTERNATIONAL CONFERENCE ON AUTOMATION SCIENCE AND ENGINEERING (CASE), 2020, : 1590 - 1595
  • [23] AMJoin: An Advanced Join Algorithm for Multiple Data Streams Using a Bit-Vector Hash Table
    Kwon, Tae-Hyung
    Kim, Hyeon-Gyu
    Kim, Myoung-Ho
    Son, Jin-Hyun
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2009, E92D (07): : 1429 - 1434
  • [24] In-Memory Flow-Based Stochastic Computing on Memristor Crossbars using Bit-Vector Stochastic Streams
    Raj, Sunny
    Chakraborty, Dwaipayan
    Jha, Sumit Kumar
    2017 IEEE 17TH INTERNATIONAL CONFERENCE ON NANOTECHNOLOGY (IEEE-NANO), 2017, : 855 - 860