Deciding floating-point logic with abstract conflict driven clause learning

被引:36
作者
Brain, Martin [1 ]
D'Silva, Vijay [2 ]
Griggio, Alberto [3 ]
Haller, Leopold [4 ]
Kroening, Daniel [1 ]
机构
[1] Univ Oxford, Dept Comp Sci, Oxford, England
[2] Univ Calif Berkeley, Berkeley, CA 94720 USA
[3] Fdn Bruno Kessler, Trento, Italy
[4] Cadence Design Syst, Berkeley, CA USA
基金
英国工程与自然科学研究理事会;
关键词
Decision procedures; Floating-point logic; Abstract interpretation; SMT; FORMAL VERIFICATION; GENERALIZING DPLL; SATISFIABILITY; PROGRAM; DOMAIN; POLYHEDRA;
D O I
10.1007/s10703-013-0203-7
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
We present a bit-precise decision procedure for the theory of floating-point arithmetic. The core of our approach is a non-trivial, lattice-theoretic generalisation of the conflict-driven clause learning algorithm in modern SAT solvers to lattice-based abstractions. We use floating-point intervals to reason about the ranges of variables, which allows us to directly handle arithmetic and is more efficient than encoding a formula as a bit-vector as in current floating-point solvers. Interval reasoning alone is incomplete, and we obtain completeness by developing a conflict analysis algorithm that reasons natively about intervals. We have implemented this method in the MATHSAT5 SMT solver and evaluated it on assertion checking problems that bound the values of program variables. Our new technique is faster than a bit-vector encoding approach on 80 % of the benchmarks, and is faster by one order of magnitude or more on 60 % of the benchmarks. The generalisation of CDCL we propose is widely applicable and can be used to derive abstraction-based SMT solvers for other theories.
引用
收藏
页码:213 / 245
页数:33
相关论文
共 69 条
  • [1] Verifying a Synthesized Implementation of IEEE-754 Floating-Point Exponential Function using HOL
    Akbarpour, Behzad
    Abdel-Hamid, Amr T.
    Tahar, Sofiene
    Harrison, John
    [J]. COMPUTER JOURNAL, 2010, 53 (04) : 465 - 488
  • [2] Ayad A, 2010, LECT NOTES ARTIF INT, V6173, P127
  • [3] Generalizing DPLL and satisfiability for equalities
    Badban, Bahareh
    van de Pol, Jaco
    Tveretina, Olga
    Zantema, Hans
    [J]. INFORMATION AND COMPUTATION, 2007, 205 (08) : 1188 - 1211
  • [4] Splitting on demand in SAT modulo theories
    Barrett, Clark
    Nieuwenhuis, Robert
    Oliveras, Albert
    Tinelli, Cesare
    [J]. Logic for Programming, Artificial Intelligence, and Reasoning, Proceedings, 2006, 4246 : 512 - 526
  • [5] Satisfiability modulo theories
    Barrett, Clark
    Sebastiani, Roberto
    Seshia, Sanjit A.
    Tinelli, Cesare
    [J]. Frontiers in Artificial Intelligence and Applications, 2009, 185 (01) : 825 - 885
  • [6] A static analyzer for large safety-critical software
    Blanchet, B
    Cousot, P
    Cousot, R
    Feret, J
    Mauborgne, L
    Miné, A
    Monniaux, D
    Rival, X
    [J]. ACM SIGPLAN NOTICES, 2003, 38 (05) : 196 - 207
  • [7] Formal verification of floating-point programs
    Boldo, Sylvie
    Filliatre, Jean-Christophe
    [J]. 18TH IEEE SYMPOSIUM ON COMPUTER ARITHMETIC, PROCEEDINGS, 2007, : 187 - +
  • [8] Symbolic execution of floating-point computations
    Botella, Bernard
    Gotlieb, Arnaud
    Michel, Claude
    [J]. SOFTWARE TESTING VERIFICATION & RELIABILITY, 2006, 16 (02) : 97 - 121
  • [9] Brain M, 2013, LECT NOTES COMPUT SC, V7737, P455
  • [10] Brain M, 2013, LECT NOTES COMPUT SC, V7935, P412, DOI 10.1007/978-3-642-38856-9_22