Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
SAS04: Abstract for Paper 9
An Abstract Interpretation Approach for Automatic Generation of Polynomial Invariants
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 to 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.