z-logo
open-access-imgOpen Access
Checking Compatibility of Bit Sizes in Floating Point Comparison Operations
Author(s) -
Manuel Fähndrich,
Francesco Logozzo
Publication year - 2012
Publication title -
electronic notes in theoretical computer science
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.242
H-Index - 60
ISSN - 1571-0661
DOI - 10.1016/j.entcs.2012.10.004
Subject(s) - computer science , floating point , static analysis , double precision floating point format , compatibility (geochemistry) , arithmetic , algorithm , abstract interpretation , point (geometry) , single precision floating point format , parallel computing , mathematics , programming language , geometry , geochemistry , geology
We motivate, define and design a simple static analysis to check that comparisons of floating point values use compatible bit widths and thus compatible precision ranges. Precision mismatches arise due to the difference in bit widths of processor internal floating point registers (typically 80 or 64 bits) and their corresponding widths when stored in memory (64 or 32 bits). The analysis guarantees that floating point values from memory (i.e. array elements, instance and static fields) are not compared against floating point numbers in registers (i.e. arguments or locals).Without such an analysis, static symbolic verification is unsound and hence may report false negatives.The static analysis is fully implemented in Clousot, our static contract checker based on abstract interpretation

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom