Sharpening Constraint Programming Approaches for Bit-Vector Theory

被引:4
|
作者
Chihani, Zakaria [1 ]
Marre, Bruno [1 ]
Bobot, Francois [1 ]
Bardin, Sebastien [1 ]
机构
[1] CEA, LIST, Software Secur Lab, Gif Sur Yvette, France
关键词
SOLVER; LAZY;
D O I
10.1007/978-3-319-59776-8_1
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
We address the challenge of developing efficient Constraint Programming-based approaches for solving formulas over the quantifier-free fragment of the theory of bitvectors (BV), which is of paramount importance in software verification. We propose CP(BV), a highly efficient BV resolution technique built on carefully chosen anterior results sharpened with key original features such as thorough domain combination or dedicated labeling. Extensive experimental evaluations demonstrate that CP(BV) is much more efficient than previous similar attempts from the CP community, that it is indeed able to solve the majority of the standard verification benchmarks for bitvectors, and that it already complements the standard SMT approaches on several crucial (and industry-relevant) aspects, notably in terms of scalability w.r.t. bit-width, theory combination or intricate mix of non-linear arithmetic and bitwise operators. This work paves the way toward building competitive CP-based verification-oriented solvers.
引用
收藏
页码:3 / 20
页数:18
相关论文
共 50 条
  • [1] Bit-Vector Optimization
    Nadel, Alexander
    Ryvchin, Vadim
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS (TACAS 2016), 2016, 9636 : 851 - 867
  • [2] Bit-Vector Typestate Analysis
    Arslanagic, Alen
    Subotic, Pavle
    Perez, Jorge A.
    FORMAL ASPECTS OF COMPUTING, 2023, 35 (03)
  • [3] A fast bit-vector algorithm for approximate string matching based on dynamic programming
    Myers, G
    JOURNAL OF THE ACM, 1999, 46 (03) : 395 - 415
  • [4] A fast bit-vector algorithm for approximate string matching based on dynamic programming
    Myers, G
    COMBINATORIAL PATTERN MATCHING, 1998, 1448 : 1 - 13
  • [5] 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 - +
  • [6] 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
  • [7] Algorithms for a Bit-Vector Encoding of Trees
    Ghazi, Kaoutar
    Beaudou, Laurent
    Raynaud, Olivier
    INTELLIGENT COMPUTING & OPTIMIZATION, 2019, 866 : 418 - 427
  • [8] Solving MaxSAT with Bit-Vector Optimization
    Nadel, Alexander
    THEORY AND APPLICATIONS OF SATISFIABILITY TESTING - SAT 2018, 2018, 10929 : 54 - 72
  • [9] Matching Multiplications in Bit-Vector Formulas
    Chakraborty, Supratik
    Gupta, Ashutosh
    Jain, Rahul
    VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, VMCAI 2017, 2017, 10145 : 131 - 150
  • [10] HUFFMAN CODING IN BIT-VECTOR COMPRESSION
    JAKOBSSON, M
    INFORMATION PROCESSING LETTERS, 1978, 7 (06) : 304 - 307