Galois connection based abstract interpretations for strictness analysis

  • Patrick Cousot
  • Radhia Cousot
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 735)


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.


Abstract interpretation Relational semantics Strictness analysis Galois connection Dependence-free and dependence-sensitive analysis Widening 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AH87]
    S. Abramsky & C. Hankin, eds. Abstract Interpretation of Declarative Languages. Computers and their Applications. Ellis Horwood, 1987.Google Scholar
  2. [Bry86]
    R. E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Trans. Comput., C-35(8), 1986.Google Scholar
  3. [CC77a]
    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. [CC77b]
    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. [CC77c]
    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. [CC79a]
    P. Cousot & R. Cousot. Constructive versions of Tarski's fixed point theorems. Pacific J. Math., 82(1):43–57, 1979.Google Scholar
  7. [CC79b]
    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. [CC92]
    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. [DW90]
    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. [Hug88]
    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. [HY86]
    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. [JM81]
    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. [JM86]
    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. [Joh81]
    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. [Mil78]
    R. Milner. A theory of polymorphism in programming. J. Comput. Sys. Sci., 17(3):348–375, Dec. 1978.Google Scholar
  16. [MJ86]
    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. [MN83]
    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. [Mos90]
    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. [Myc80]
    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. [Myc81]
    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. [Nie88]
    F. Nielson. Strictness analysis and denotational abstract interpretation. Inf. & Comp., 76(1):29–92, 1988.Google Scholar
  22. [SMR91]
    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

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Patrick Cousot
    • 1
  • Radhia Cousot
    • 2
  1. 1.LIENS, École Normale SupérieureParis cedex 05France
  2. 2.LIX, École PolytechniquePalaiseau cedexFrance

Personalised recommendations