Abstract
A new and efficient algorithm for computing the least fixpoint of a functional on a finite function space is defined. The algorithm applies to the computation of the least fixpoint (global or local) induced by an arbitrary system of functional equations in a certain formalism. The algorithm employs a variant of Cousot and Cousot's chaotic iteration [2], and uses neededness (or dependency) information to guide the fixpoint iteration, as for instance in Kildall's early algorithm [12]. The neededness analysis is dynamic as in the algorithms proposed by Muthukumar and Hermenegildo [7] and Le Charlier et al. [10], with the main difference being that our neededness analysis is of a more “shallow” nature, and that our approach is more iterative and less recursive. The complexity result implies that the worst-case number of iterations per equation is independent of the total number of equations in the equation system, where an iteration corresponds to evaluating an equation once with respect to given values of the functional and primitive parameters.
Preview
Unable to display preview. Download preview PDF.
References
P. Cousot, and R. Cousot. Automatic synthesis of optimal invariant assertions: Mathematical foundations. Proc. ACM Symposium on Artificial Intelligence and programming languages, SIGPLAN Notices, 12 (8),1977, pp. 1–12.
P. Cousot, and R. Cousot. Static determination of dynamic properties of recursive procedures. IFIP Conf. on Formal description of programming concepts, North-Holland Publ. Co., Amsterdam 1977, pp. 237–277.
J. Gallagher, and M. Bruynooghe. The derivation of an algorithm for program specialisation. New Generation Computing, 9, 1991, 305–333.
N. Jørgensen. Abstract interpretation of constraint logic programs. Ph.D. thesis. Computer Science Dept., Roskilde University, 1992.
N. Jørgensen. Chaotic fixpoint iteration guided by dynamic dependency. Proc. Workshop on Static Analysis, 1993, LNCS 724, Springer-Verlag, pp. 1–14
N. Jørgensen. Finding fixpoints in finite function spaces using neededness analysis and chaotic iteration. Datalogiske Skrifter, Computer Science Dept., Roskilde University, 1994.
K. Muthukumar, and M. Hermenegildo. Compile-time derivation of variable dependency using abstract interpretation. J. Logic Programming 1992, 13, pp. 315–347.
N. D. Jones and A. Mycroft. Data flow analysis of applicative programs using minimal function graphs. Proc. 13th ACM Symposium on Principles of Programming Languages, 1986, pp. 296–306.
R.A. O'Keefe. Finite fixed-point problems. Proc. 4th International Conference on Logic Programming, 1987, pp. 729–743.
B. Le Charlier, K. Musumbu, P. Van Hentenryck. A generic abstract interpretation algorithm and its complexity analysis. Proc. 8th International Conference on Logic Programming, 1991, pp. 64–78.
B. Le Charlier and P. Van Hentenryck. Experimental evaluation of a generic abstract interpretation algorithm for Prolog. Technical Report CS-91-55, August 1991, Brown University.
G.A. Kildall. A unified approach to global program optimization. Proc. ACM Symposium on Principles of Programming Languages, 1993, 194–206.
T.J. Marlowe, and B.G. Ryder. Properties of data flow frameworks. A unified model. Acta Informatica 28, 1990, pp. 121–163.
S. Peyton-Jones and C. Clack. Finding fixpoints in abstract interpretation, in: S. Abramski and C. Hankin (eds): Abstract interpretation of declarative languages. Ellis Horwood, 1987, pp. 246–265.
M. Rosendahl. Higher-order chaotic iteration sequences. Proc. 5th International Symposium on Programming Language and Implementation and Logic Programming, 1993, LNCS 714, Springer-Verlag, pp. 332–345.
P. Van Hentenryck, O. Degimbe, B. Le Charlier, and L. Michel. The impact of granularity in abstract interpretation of Prolog. Proc. Workshop on Static Analysis, 1993, LNCS 724, Springer-Verlag, pp. 1–14.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jørgensen, N. (1994). Finding fixpoints in finite function spaces using neededness analysis and chaotic iteration. In: Le Charlier, B. (eds) Static Analysis. SAS 1994. Lecture Notes in Computer Science, vol 864. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58485-4_50
Download citation
DOI: https://doi.org/10.1007/3-540-58485-4_50
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58485-8
Online ISBN: 978-3-540-49005-0
eBook Packages: Springer Book Archive