Published 2011 | Version v1
Report

Refining Abstract Interpretation-based Approximations with Constraint Solvers

Description

Programs with floating-point computations are tricky to develop because floating-point arithmetic differs from real arithmetic and has many counterintuitive properties. A classical approach to verify such programs consists in estimating the precision of floating-point computations with respect to the same sequence of operations in an idealized semantics of real numbers. Tools like \FLUCTUAT{}---based on abstract interpretation---have been designed to address this problem. However, such tools compute an over-approximation of the domains of the variables, both in the semantics of the floating-point numbers and in the semantics of the real numbers. This over-approximation can be very coarse on some programs. In this paper, we show that constraint solvers over floating-point numbers and real numbers can significantly refine the approximations computed by \FLUCTUAT{}. We managed to reduce drastically the domains of variables of C programs that are difficult to handle for abstract interpretation techniques implemented in \FLUCTUAT{}.

Additional details

Identifiers

URL
https://hal.archives-ouvertes.fr/hal-00623274
URN
urn:oai:HAL:hal-00623274v1

Origin repository

Origin repository
UNICA