Galois connection based abstract interpretations for strictness analysis
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 G∞SOS 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.
- S. Abramsky & C. Hankin, eds. Abstract Interpretation of Declarative Languages. Computers and their Applications. Ellis Horwood, 1987.
- R. E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Trans. Comput., C-35(8), 1986.
- Cousot, P., Cousot, R. (1977) Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. 4th POPL. ACM Press, Los Angeles, California, pp. 238-252
- Cousot, P., Cousot, R. (1977) Automatic synthesis of optimal invariant assertions: mathematical foundations. ACM Symposium on Artificial Intelligence & Programming Languages, Rochester, New York, SIGPLAN Notices 12: pp. 1-12
- Cousot, P., Cousot, R. In: Neuhold, E.J. eds. (1977) Static determination of dynamic properties of recursive procedures. North-Holland, St-Andrews, N.B., Canada, pp. 237-277
- Cousot, P., Cousot, R. (1979) Constructive versions of Tarski's fixed point theorems. Pacific J. Math. 82: pp. 43-57
- Cousot, P., Cousot, R. (1979) Systematic design of program analysis frameworks. 6th POPL. ACM Press, San Antonio, Texas, pp. 269-282
- Cousot, P., Cousot, R. (1992) Inductive definitions, semantics and abstract interpretation. 19th POPL. ACM Press, Albuquerque, New Mexico, pp. 83-94
- Davis, K., Wadler, P. Strictness analysis in 4D. In: Peyton Jones, S.L., Hutton, G., Kehler Holst, C. eds. (1990) Functional Programming, Glasgow 1990. Springer-Verlag, Ullapool, Scotland, pp. 23-43
- Hughes, R. J. M. Backwards analysis of functional programs. In: Bjørner, A. P., Ershov, D., Jones, N. D. eds. (1988) Partial Evaluation and Mixed Computation. Elsevier, Gammel Avernaes, Denmark, pp. 187-208
- P. Hudak & J. Young. Higher-order strictness analysis in untyped lambda calculus. In 12th POPL, pp. 97–109. ACM Press, Jan. 1986.
- 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.
- Jones, N. D., Mycroft, A. (1986) Data flow analysis of applicative programs using minimal function graphs: abridged version. 13th POPL. ACM Press, St. Petersburg Beach, Florida, pp. 296-306
- Johnsson, T. (1981) 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, Göteborg, Sweden, pp. S-412 96
- Milner, R. (1978) A theory of polymorphism in programming. J. Comput. Sys. Sci. 17: pp. 348-375
- Mycroft, A., Jones, N. D. A relational framework for abstract interpretation. In: Jones, N. D., Ganzinger, H. eds. (1986) Programs as Data Objects. Springer-Verlag, Copenhagen, Denmark, pp. 156-171
- A. Mycroft & F. Nielson. Strong abstract interpretation using power domains. In J. Diaz, ed., Tenth ICALP, LNCS 154, pp. 536–547. Springer-Verlag, 1983.
- 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.
- Mycroft, A. In: Robinet, B. eds. (1980) The theory and practice of transforming call-by-need into call-by-value. Springer-Verlag, Paris, France, pp. 270-281
- Mycroft, A. (1981) Abstract Interpretation and Optimising Transformations for Applicative Programs. Ph.D. Dissertation. Department of Computer Science, University of Edinburgh, Edinburgh, Scotland
- Nielson, F. (1988) Strictness analysis and denotational abstract interpretation. Inf. & Comp. 76: pp. 29-92
- Sekar, R. C., Mishra, P., Ramakrishnan, I. V. (1991) On the power and limitation of strictness analysis based on abstract interpretation. 18th POPL. ACM Press, Orlando, Florida, pp. 37-48
- Galois connection based abstract interpretations for strictness analysis
- Book Title
- Formal Methods in Programming and Their Applications
- Book Subtitle
- International Conference Academgorodok, Novosibirsk, Russia June 28 – July 2, 1993 Proceedings
- pp 98-127
- Print ISBN
- Online ISBN
- Series Title
- Lecture Notes in Computer Science
- Series Volume
- Series ISSN
- Springer Berlin Heidelberg
- Copyright Holder
- Additional Links
- Abstract interpretation
- Relational semantics
- Strictness analysis
- Galois connection
- Dependence-free and dependence-sensitive analysis
- Industry Sectors
- eBook Packages
To view the rest of this content please follow the download PDF link above.