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 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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
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.
P. Cousot & R. Cousot. Constructive versions of Tarski's fixed point theorems. Pacific J. Math., 82(1):43–57, 1979.
P. Cousot & R. Cousot. Systematic design of program analysis frameworks. In 6th POPL, pp. 269–282, San Antonio, Texas, 1979. ACM Press.
P. Cousot & R. Cousot. Inductive definitions, semantics and abstract interpretation. In 19th POPL, pp. 83–94, Albuquerque, New Mexico, 1992. ACM Press.
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.
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.
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.
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.
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.
R. Milner. A theory of polymorphism in programming. J. Comput. Sys. Sci., 17(3):348–375, Dec. 1978.
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.
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.
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.
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.
F. Nielson. Strictness analysis and denotational abstract interpretation. Inf. & Comp., 76(1):29–92, 1988.
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.
Author information
Authors and Affiliations
Editor information
Rights 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