Skip to main content

Finding fixpoints in finite function spaces using neededness analysis and chaotic iteration

  • Conference paper
  • First Online:
Static Analysis (SAS 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 864))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. J. Gallagher, and M. Bruynooghe. The derivation of an algorithm for program specialisation. New Generation Computing, 9, 1991, 305–333.

    Google Scholar 

  4. N. Jørgensen. Abstract interpretation of constraint logic programs. Ph.D. thesis. Computer Science Dept., Roskilde University, 1992.

    Google Scholar 

  5. N. Jørgensen. Chaotic fixpoint iteration guided by dynamic dependency. Proc. Workshop on Static Analysis, 1993, LNCS 724, Springer-Verlag, pp. 1–14

    Google Scholar 

  6. N. Jørgensen. Finding fixpoints in finite function spaces using neededness analysis and chaotic iteration. Datalogiske Skrifter, Computer Science Dept., Roskilde University, 1994.

    Google Scholar 

  7. K. Muthukumar, and M. Hermenegildo. Compile-time derivation of variable dependency using abstract interpretation. J. Logic Programming 1992, 13, pp. 315–347.

    Article  Google Scholar 

  8. 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.

    Google Scholar 

  9. R.A. O'Keefe. Finite fixed-point problems. Proc. 4th International Conference on Logic Programming, 1987, pp. 729–743.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. G.A. Kildall. A unified approach to global program optimization. Proc. ACM Symposium on Principles of Programming Languages, 1993, 194–206.

    Google Scholar 

  13. T.J. Marlowe, and B.G. Ryder. Properties of data flow frameworks. A unified model. Acta Informatica 28, 1990, pp. 121–163.

    Article  Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Baudouin Le Charlier

Rights and permissions

Reprints 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

Publish with us

Policies and ethics