Bringing freedom in variable choice when searching counter-examples in floating point programs

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

Program verification techniques typically focus on finding counter-examples that violate properties of a program. Constraint programming offers a convenient way to verify programs by modeling their state transformations and specifying searches that seek counter-examples. Floating-point computations present additional challenges for verification given the semantic subtleties of floating point arithmetic. using floating point numbers constraint systems and dedicated to program verification. It introduces a new search heuristic based on the global number of occurrences that outperforms state-of-the-art strategies. More importantly, it demonstrates that a new technique that only branches on input variables of the verified program improve performance. It composes with a diversification technique that prevents the selection of the same variable within a fixed horizon further improving performances and reduces disparities between various variable choice heuristics. The result is a robust methodology that can tailor the search strategy according to the sought properties of the counter example.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/11/2019

Correct Approximation of IEEE 754 Floating-Point Arithmetic for Program Verification

Verification of programs using floating-point arithmetic is challenging ...
research
01/21/2021

Deductive Verification of Floating-Point Java Programs in KeY

Deductive verification has been successful in verifying interesting prop...
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
03/03/2023

Automating Constraint-Aware Datapath Optimization using E-Graphs

Numerical hardware design requires aggressive optimization, where design...
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
07/31/2021

A Study of the Floating-Point Tuning Behaviour on the N-body Problem

In this article, we apply a new methodology for precision tuning to the ...
research
02/25/2021

NSan: A Floating-Point Numerical Sanitizer

Sanitizers are a relatively recent trend in software engineering. They a...

Please sign up or login with your details

Forgot password? Click here to reset