An efficient constraint based framework forhandling floating point SMT problems

02/27/2020
by   Heytem Zitoun, et al.
0

This paper introduces the 2019 version of , a novel Constraint Programming framework for floating point verification problems expressed with the SMT language of SMTLIB. SMT solvers decompose their task by delegating to specific theories (e.g., floating point, bit vectors, arrays, ...) the task to reason about combinatorial or otherwise complex constraints for which the SAT encoding would be cumbersome or ineffective. This decomposition and encoding processes lead to the obfuscation of the high-level constraints and a loss of information on the structure of the combinatorial model. In , constraints over the floats are first class objects, and the purpose is to expose and exploit structures of floating point domains to enhance the search process. A symbolic phase rewrites each SMTLIB instance to elementary constraints, and eliminates auxiliary variables whose presence is counterproductive. A diversification technique within the search steers it away from costly enumerations in unproductive areas of the search space. The empirical evaluation demonstrates that the 2019 version of is competitive on computationally challenging floating point benchmarks that induce significant search efforts even for other CP solvers. It highlights that the ability to harness both inference and search is critical. Indeed, it yields a factor 3 improvement over Colibri and is up to 10 times faster than SMT solvers. The evaluation was conducted over 214 benchmarks (The Griggio suite) which is a standard within SMTLIB.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/27/2020

An Efficient Floating-Point Bit-Blasting API for Verifying C Programs

We describe a new SMT bit-blasting API for floating-points and evaluate ...
research
08/18/2013

Exploiting Binary Floating-Point Representations for Constraint Propagation: The Complete Unabridged Version

Floating-point computations are quickly finding their way in the design ...
research
11/24/2017

Exploring Approximations for Floating-Point Arithmetic using UppSAT

We consider the problem of solving floating-point constraints obtained f...
research
06/09/2018

A Preliminary Exploration of Floating Point Grammatical Evolution

Current GP frameworks are highly effective on a range of real and simula...
research
05/07/2019

Optimization Modulo the Theories of Signed Bit-Vectors and Floating-Point Numbers

Optimization Modulo Theories (OMT) is an important extension of SMT whic...
research
12/21/2017

Bit-Vector Model Counting using Statistical Estimation

Approximate model counting for bit-vector SMT formulas (generalizing #SA...
research
11/24/2015

Approximate Probabilistic Inference via Word-Level Counting

Hashing-based model counting has emerged as a promising approach for lar...

Please sign up or login with your details

Forgot password? Click here to reset