Automatic generation of polynomial invariants of bounded degree using abstract interpretation

  • Authors:
  • E. Rodríguez-Carbonell;D. Kapur

  • Affiliations:
  • Software Department, Technical University of Catalonia, Jordi Girona, 1-3 08034 Barcelona, Spain;Department of Computer Science, University of New Mexico, Albuquerque, NM 87131-0001, USA

  • Venue:
  • Science of Computer Programming
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

A method for generating polynomial invariants of imperative programs is presented using the abstract interpretation framework. It is shown that for programs with polynomial assignments, an invariant consisting of a conjunction of polynomial equalities can be automatically generated for each program point. The proposed approach takes into account tests in conditional statements as well as in loops, insofar as they can be abstracted into polynomial equalities and disequalities. The semantics of each program statement is given as a transformation on polynomial ideals. Merging of execution paths is defined as the intersection of the polynomial ideals associated with each path. For loop junctions, a family of widening operators based on selecting polynomials up to a certain degree is proposed. The presented method has been implemented and successfully tried on many programs. Heuristics employed in the implementation to improve its efficiency are discussed, and tables providing details about its performance are included.