Skip to main content

Galois connection based abstract interpretations for strictness analysis

  • Conference paper
  • First Online:
Formal Methods in Programming and Their Applications

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

Abstract

The abstract interpretation framework based upon the approximation of a fixpoint collecting semantics using Galois connections and widening/narrowing operators on complete lattices [CC77a, CC79b] has been considered difficult to apply to Mycroft's strictness analysis [Myc80, Myc81] for which denotational semantics was though to be more adequate (because non-termination has to be taken into account), see e.g. [AH87], page 25.

Considering a non-deterministic first-order language, we show, contrary to expectation, and using the classical Galois connection-based framework, that Mycroft strictness analysis algorithm is the abstract interpretation of a relational semantics (a big-steps operational semantics including non-termination which can be defined in GSOS either in rule-based or fixpoint style by induction on the syntax of programs [CC92])

An improved version of Johnsson's algorithm [Joh81] is obtained by a subsequent dependence-free abstraction of Mycroft's dependence-sensitive method.

Finally, a compromise between the precision of dependence-sensitive algorithms and the efficiency of dependence-free algorithms is suggested using widening operators.

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. S. Abramsky & C. Hankin, eds. Abstract Interpretation of Declarative Languages. Computers and their Applications. Ellis Horwood, 1987.

    Google Scholar 

  2. R. E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Trans. Comput., C-35(8), 1986.

    Google Scholar 

  3. P. Cousot & R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In 4th POPL, pp. 238–252, Los Angeles, California, 1977. ACM Press.

    Google Scholar 

  4. P. Cousot & R. Cousot. Automatic synthesis of optimal invariant assertions: mathematical foundations. In ACM Symposium on Artificial Intelligence & Programming Languages, Rochester, New York, SIGPLAN Notices 12(8):1–12, 1977.

    Google Scholar 

  5. P. Cousot & R. Cousot. Static determination of dynamic properties of recursive procedures. In E.J. Neuhold, ed., IFIP Conference on Formal Description of Programming Concepts, St-Andrews, N.B., Canada, pp. 237–277. North-Holland, 1977.

    Google Scholar 

  6. P. Cousot & R. Cousot. Constructive versions of Tarski's fixed point theorems. Pacific J. Math., 82(1):43–57, 1979.

    Google Scholar 

  7. P. Cousot & R. Cousot. Systematic design of program analysis frameworks. In 6th POPL, pp. 269–282, San Antonio, Texas, 1979. ACM Press.

    Google Scholar 

  8. P. Cousot & R. Cousot. Inductive definitions, semantics and abstract interpretation. In 19th POPL, pp. 83–94, Albuquerque, New Mexico, 1992. ACM Press.

    Google Scholar 

  9. K. Davis & P. Wadler. Strictness analysis in 4D. In S.L. Peyton Jones, G. Hutton, & C. Kehler Holst, eds., Functional Programming, Glasgow 1990, Proc. 1990 Glasgow Workshop on Functional Programming, Ullapool, Scotland, pp. 23–43. Springer-Verlag, 13–15 Aug. 1990.

    Google Scholar 

  10. R. J. M. Hughes. Backwards analysis of functional programs. In A. P. Bjørner D., Ershov & N. D. Jones, eds., Partial Evaluation and Mixed Computation, Proceedings IFIP TC2 Workshop, Gammel Avernaes, Denmark, pp. 187–208. Elsevier, Oct. 1988.

    Google Scholar 

  11. P. Hudak & J. Young. Higher-order strictness analysis in untyped lambda calculus. In 12th POPL, pp. 97–109. ACM Press, Jan. 1986.

    Google Scholar 

  12. N. D. Jones & S. S. Muchnick. Complexity of flow analysis, inductive assertion synthesis and a language due to Dijkstra. In S. S. Muchnick & N. D. Jones, eds., Program Flow Analysis: Theory and Applications, ch. 12, pp. 380–393. Prentice-Hall, 1981.

    Google Scholar 

  13. N. D. Jones & A. Mycroft. Data flow analysis of applicative programs using minimal function graphs: abridged version. In 13th POPL, pp. 296–306, St. Petersburg Beach, Florida, 1986. ACM Press.

    Google Scholar 

  14. T. Johnsson. Detecting when call-by-value can be used instead of call-by-need. Research Report LPM MEMO 14, Laboratory for Programming Methodology, Department of Computer Science, Chalmers University of Technology, S–412 96 Göteborg, Sweden, Oct. 1981.

    Google Scholar 

  15. R. Milner. A theory of polymorphism in programming. J. Comput. Sys. Sci., 17(3):348–375, Dec. 1978.

    Google Scholar 

  16. A. Mycroft & N. D. Jones. A relational framework for abstract interpretation. In N. D. Jones & H. Ganzinger, eds., Programs as Data Objects, Proceedings of a Workshop, Copenhagen, Denmark, 17–19 Oct. 1985, LNCS 215, pp. 156–171. Springer-Verlag, 1986.

    Google Scholar 

  17. A. Mycroft & F. Nielson. Strong abstract interpretation using power domains. In J. Diaz, ed., Tenth ICALP, LNCS 154, pp. 536–547. Springer-Verlag, 1983.

    Google Scholar 

  18. P. D. Mosses. Denotational semantics. In J. van Leeuwen, ed., Formal Models and Semantics, vol. B of Handbook of Theoretical Computer Science, ch. 11, pp. 575–631. Elsevier, 1990.

    Google Scholar 

  19. A. Mycroft. The theory and practice of transforming call-by-need into call-by-value. In B. Robinet, ed., Proc. Fourth International Symposium on Programming, Paris, France, 22–24 Apr. 1980, LNCS 83, pp. 270–281. Springer-Verlag, 1980.

    Google Scholar 

  20. A. Mycroft. Abstract Interpretation and Optimising Transformations for Applicative Programs. Ph.D. Dissertation, CST-15-81, Department of Computer Science, University of Edinburgh, Edinburgh, Scotland, Dec. 1981.

    Google Scholar 

  21. F. Nielson. Strictness analysis and denotational abstract interpretation. Inf. & Comp., 76(1):29–92, 1988.

    Google Scholar 

  22. R. C. Sekar, P. Mishra, & I. V. Ramakrishnan. On the power and limitation of strictness analysis based on abstract interpretation. In 18 th POPL, pp. 37–48, Orlando, Florida, 1991. ACM Press.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Dines Bjørner Manfred Broy Igor V. Pottosin

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cousot, P., Cousot, R. (1993). Galois connection based abstract interpretations for strictness analysis. In: Bjørner, D., Broy, M., Pottosin, I.V. (eds) Formal Methods in Programming and Their Applications. Lecture Notes in Computer Science, vol 735. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0039703

Download citation

  • DOI: https://doi.org/10.1007/BFb0039703

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57316-6

  • Online ISBN: 978-3-540-48056-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics