Download PDFOpen PDF in browser

Abstract Domains for Bit-Level Machine Integer and Floating-point Operations

16 pagesPublished: July 28, 2013

Abstract

We present a few lightweight numeric abstract domains to analyze C programs that
exploit the binary representation of numbers in computers, for instance to
perform ``compute-through-overflow'' on machine integers, or to directly
manipulate the exponent and mantissa of floating-point numbers.
On integers, we propose an extension of intervals with a modular component,
as well as a bitfield domain.
On floating-point numbers, we propose a predicate domain to match, infer,
and propagate selected expression patterns.
These domains are simple, efficient, and extensible.
We have included them into the Astree and AstreeA static analyzers to
supplement existing domains. Experimental results show that they can improve
the analysis precision at a reasonable cost.

Keyphrases: abstract interpretation, floating point numbers, machine integers, numeric domains, static analysis

In: Jacques Fleuriot, Peter Höfner, Annabelle McIver and Alan Smaill (editors). ATx'12/WInG'12: Joint Proceedings of the Workshops on Automated Theory eXploration and on Invariant Generation, vol 17, pages 55-70.

BibTeX entry
@inproceedings{ATx'12/WInG'12:Abstract_Domains_Bit_Level,
  author    = {Antoine Miné},
  title     = {Abstract Domains for Bit-Level Machine Integer and Floating-point Operations},
  booktitle = {ATx'12/WInG'12: Joint Proceedings of the Workshops on Automated Theory eXploration and on Invariant Generation},
  editor    = {Jacques Fleuriot and Peter Höfner and Annabelle McIver and Alan Smaill},
  series    = {EPiC Series in Computing},
  volume    = {17},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {/publications/paper/bx},
  doi       = {10.29007/b63g},
  pages     = {55-70},
  year      = {2013}}
Download PDFOpen PDF in browser