Static Analysis

Volume 3148 of the series Lecture Notes in Computer Science pp 280-295

An Abstract Interpretation Approach for Automatic Generation of Polynomial Invariants

  • Enric Rodríguez-CarbonellAffiliated withTechnical University of Catalonia
  • , Deepak KapurAffiliated withUniversity of New Mexico

* Final gross prices may vary according to local VAT.

Get Access


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 to be polynomial equalities and disequalities. The semantics of each statement is given as a transformation on polynomial ideals. Merging of paths in a program is defined as the intersection of the polynomial ideals associated with each path. For a loop junction, a widening operator based on selecting polynomials up to a certain degree is proposed. The algorithm for finding invariants using this widening operator is shown to terminate in finitely many steps. The proposed approach has been implemented and successfully tried on many programs. A table providing details about the programs is given.