Automatic Verification of Integer Array Programs

  • Authors:
  • Marius Bozga;Peter Habermehl;Radu Iosif;Filip Konečný;Tomáš Vojnar

  • Affiliations:
  • VERIMAG, CNRS, Gières, France 38610;LIAFA, Paris 13, France 75205;VERIMAG, CNRS, Gières, France 38610;VERIMAG, CNRS, Gières, France 38610 and FIT BUT, Brno, Czech Republic 61266;FIT BUT, Brno, Czech Republic 61266

  • Venue:
  • CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

We provide a verification technique for a class of programs working on integer arrays of finite, but not a priori bounded length. We use the logic of integer arrays SIL [13] to specify pre- and post-conditions of programs and their parts. Effects of non-looping parts of code are computed syntactically on the level of SIL. Loop pre-conditions derived during the computation in SIL are converted into counter automata (CA). Loops are automatically translated--purely on the syntactical level--to transducers. Pre-condition CA and transducers are composed, and the composition over-approximated by flat automata with difference bound constraints, which are next converted back into SIL formulae, thus inferring post-conditions of the loops. Finally, validity of post-conditions specified by the user in SIL may be checked as entailment is decidable for SIL.