Abstract
Abstract interpretation is a framework for describing data flow analyses and for proving their correctness. Traditionally the framework is developed for flow chart languages, but this paper extends the applicability of the idea to a wide class of languages that have a denotational semantics. The main idea is to study a denotational metalanguage with two kinds of types: one kind describes compile-time entities and another describes run-time entities. The run-time entities will be interpreted differently so as to obtain different semantics from the same denotational definition: the standard semantics is the ordinary semantics, an approximating semantics describes a data flow analysis and the collecting semantics is a convenient tool in relating the previous two semantics.
Preview
Unable to display preview. Download preview PDF.
References
A.V. Aho, J.D. Ullman: Principles of Compiler Design, Addison-Wesley, 1978.
M.A. Arbib, E.G. Manes: Arrows, Structures and Functors: The Categorical Imperative, Academic Press, 1975.
G.L. Burn, C.L. Hankin, S. Abramsky: The Theory and Practice of Strictness Analysis for Higher Order Functions, Research Report DoC 85/6, Imperial College of Science and Technology, London.
P. Cousot, R. Cousot: Abstract Interpretation: A Unified lattice model for static analysis of programs by construction or approximation of fixpoints, in: Conf. Record of the 4th ACM Symposium on Principles of Programming Languages, 1977.
P. Cousot, R. Cousot: Static determination of dynamic properties of recursive procedures, in: Formal Descriptions of Programming Concepts, E.J. Neuhold (ed.), North-Holland Publishing Company, 1978.
P. Cousot, R. Cousot: Systematic design of program analysis frameworks, in: Conf. Record of the 6th ACM Symposium on Principles of Programming Languages, 1979.
V. Donzeau-Gouge: Utilisation de la sémantique dénotationelle pour l'étude d'interprétations non-standard, IRIA report No. 273, France, 1978.
V. Donzeau-Gouge: Denotational definition of properties of program computations, in: Program Flow Analysis: Theory and Applications, S.S. Muchnick, N.D. Jones (eds.), Prentice-Hall, 1981.
M. Gordon: The Denotational Description of Programming Languages — An Introduction, Springer-Verlag, 1979.
M.S. Hecht: Flow Analysis of Computer Programs, North-Holland, 1977.
N.D. Jones, S.S. Muchnick: TEMPO: A Unified Treatment of Binding Time and Parameter Passing Concepts in Programming Languages, Lecture Notes in Computer Science No. 66, Springer Verlag, 1978.
N.D. Jones, S.S. Muchnick: Complexity of flow analysis, inductive assertion synthesis and a language due to Dijkstra, in: Program Flow Analysis: Theory and Applications, S.S. Muchnick, N.D. Jones (eds.), Prentice-Hall, 1981.
J.B. Kam, J.D. Ullman: Monotone data flow analysis frameworks, Acta Informatica, vol. 7 (1977), pp. 305–317.
R. Milne, C. Strachey: A Theory of Programming Language Semantics, Chapman and Hall, London, 1976.
A. Mycroft, F. Nielson: Strong abstract interpretation using power domains, in: Proceedings ICALP 1983, Springer LNCS no. 154, pp. 536–547.
F. Nielson: A denotational framework for data flow analysis, Acta Informatica, vol. 18 (1982), pp. 265–287.
F. Nielson: Abstract Interpretation Using Domain Theory, Ph.D. thesis, University of Edinburgh, Scotland, 1984.
F. Nielson: Tensor Products Generalize the Relational Data Flow Analysis Method, 4'th HCSC, 1985.
F. Nielson: Expected Forms of Data Flow Analysis, to appear in: Proceedings of "Programs as Data Objects", Springer LNCS, 1986.
F. Nielson, H.R. Nielson: Code Generation from Two-Level Denotational Meta-Languages, to appear in: Proceedings of "Programs as Data Objects", Springer LNCS, 1986.
H.R. Nielson, F. Nielson: Pragmatic Aspects of Two-Level Denotational Meta-Languages, report R-85-13, Aalborg University Centre, Denmark.
J.C. Reynolds: On the Relation between Direct and Continuation Semantics, in: Proceedings 2nd ICALP 1974, Lecture Notes in Computer Science 14, pp. 141–156.
B.K. Rosen: High-level data flow analysis, CACM vol. 20 No. 10 (1977), pp. 712–724.
M.B. Smyth, G.D. Plotkin: The category-theoretic solution of recursive domain equations, SIAM J. Comput., vol. 11 No. 4 (1982), pp. 761–783.
A. Tenenbaum: Automatic Type Analysis in a Very High Level Language, Ph.D. thesis, New York University, 1974.
R.D. Tennent: Principles of Programming Languages, Prentice-Hall, 1981.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1985 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nielson, F. (1985). Abstract interpretation of denotational definitions. In: Monien, B., Vidal-Naquet, G. (eds) STACS 86. STACS 1986. Lecture Notes in Computer Science, vol 210. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-16078-7_61
Download citation
DOI: https://doi.org/10.1007/3-540-16078-7_61
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-16078-6
Online ISBN: 978-3-540-39758-8
eBook Packages: Springer Book Archive