Chaotic Fixpoint Iteration Guided by Dynamic Dependency

An algorithm for abstract interpretation of logic programs is defined and analyzed. The algorithm is proved to be correct with respect to an abstract semantics for (a variant of) Prolog. This abstract semantics associates a given program with a function that maps each call pattern for a predicate to a distinct success pattern. The proposed algorithm employs a variant of chaotic iteration, and is based on what may be termed a dynamic dependency relation. A low worst-case complexity is achieved: the number of passes of dataflow analysis over each program clause is proved to be independent of the size of the rest of the program.

[1]  Chris Hankin,et al.  Finding fixed points in finite lattices , 1987, FPCA.

[2]  Roland H. C. Yap,et al.  An abstract machine for CLP(R) , 1992, PLDI '92.

[3]  Richard A. O'Keefe Finite Fixed-Point Problems , 1987, ICLP.

[4]  Christopher D. Clack,et al.  Finding fixpoints in abstract interpretation , 1987 .

[5]  Kim Marriott,et al.  Some Global Compile-Time Optimizations for CLP(R) , 1991, ISLP.

[6]  Kotagiri Ramamohanarao,et al.  A Generalization of the Differential Approach to Recursive Query Evaluation , 1987, J. Log. Program..

[7]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[8]  Gary A. Kildall,et al.  A unified approach to global program optimization , 1973, POPL.

[9]  Neil D. Jones,et al.  Data flow analysis of applicative programs using minimal function graphs , 1986, POPL '86.

[10]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[11]  Pascal Van Hentenryck,et al.  Experimental Evaluation of a Generic Abstract Interpretation Algorithm for PROLOG , 1992, ACM Trans. Program. Lang. Syst..

[12]  Saumya K. Debray,et al.  Static inference of modes and data dependencies in logic programs , 1989, TOPL.

[13]  Pascal Van Hentenryck,et al.  A Generic Abstract Interpretation Algorithm and its Complexity Analysis , 1991, ICLP.

[14]  Joxan Jaffar,et al.  Constraint logic programming , 1987, POPL '87.

[15]  Patrick Cousot,et al.  Automatic synthesis of optimal invariant assertions: Mathematical foundations , 1977 .

[16]  Catriel Beeri,et al.  On the power of magic , 1987, PODS '87.

[17]  Kim Marriott,et al.  Bottom-Up Dataflow Analysis of Normal Logic Programs , 1992, J. Log. Program..

[18]  John Wylie Lloyd,et al.  Foundations of Logic Programming , 1987, Symbolic Computation.

[19]  Kim Marriott,et al.  Analysis of Constraint Logic Programs , 1990, NACLP.

[20]  Patrick Cousot,et al.  Abstract Interpretation and Application to Logic Programs , 1992, J. Log. Program..