Taming the wrapping of integer arithmetic

  • Authors:
  • Axel Simon;Andy King

  • Affiliations:
  • Computing Laboratory, University of Kent, Canterbury, UK;Computing Laboratory, University of Kent, Canterbury, UK

  • Venue:
  • SAS'07 Proceedings of the 14th international conference on Static Analysis
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Variables in programs are usually confined to a fixed number of bits and results that require more bits are truncated. Due to the use of 32-bit and 64-bit variables, inadvertent overflows are rare. However, a sound static analysis must reason about overflowing calculations and conversions between unsigned and signed integers; the latter remaining a common source of subtle programming errors. Rather than polluting an analysis with the low-level details of modelling two's complement wrapping behaviour, this paper presents a computationally light-weight solution based on polyhedral analysis which eliminates the need to check for wrapping when evaluating most (particularly linear) assignments.