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

04/27/2020
by   Mikhail R. Gadelha, et al.
0

We describe a new SMT bit-blasting API for floating-points and evaluate it using different out-of-the-shelf SMT solvers during the verification of several C programs. The new floating-point API is part of the SMT backend in ESBMC, a state-of-the-art bounded model checker for C and C++. For the evaluation, we compared our floating-point API against the native floating-point APIs in Z3 and MathSAT. We show that Boolector, when using floating-point API, outperforms the solvers with native support for floating-points, correctly verifying more programs in less time. Experimental results also show that our floating-point API implemented in ESBMC is on par with other state-of-the-art software verifiers. Furthermore, when verifying programs with floating-point arithmetic, our new floating-point API produced no wrong answers.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/21/2021

Deductive Verification of Floating-Point Java Programs in KeY

Deductive verification has been successful in verifying interesting prop...
research
11/24/2017

Exploring Approximations for Floating-Point Arithmetic using UppSAT

We consider the problem of solving floating-point constraints obtained f...
research
07/02/2022

Auto-active Verification of Floating-point Programs via Nonlinear Real Provers

We give a process for verifying numerical programs against their functio...
research
02/27/2020

An efficient constraint based framework forhandling floating point SMT problems

This paper introduces the 2019 version of , a novel Constraint Programmi...
research
03/26/2020

Benchmarking Software Model Checkers on Automotive Code

This paper reports on our experiences with verifying automotive C code b...
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/06/2021

Approximate Translation from Floating-Point to Real-Interval Arithmetic

Floating-point arithmetic (FPA) is a mechanical representation of real a...

Please sign up or login with your details

Forgot password? Click here to reset