Optimal run time optimization proved by a new look at abstract interpretations
- Kildall's iterative method for data flow analysis and
- Morel/Renvoise's partial redundancy elimination algorithm.
To combine these techniques in such an optimal way, we firstly have to elaborate Kildall's approach. This is done by means of a new classification method for abstract interpretations which has to be introduced before
Secondly we have to extend Morel/Renovise's technique, which is only conceived to treat the occurrences of a single term, to work on the value equivalence classes delivered by the Kildall-like data flow analysis algorithm mentioned above.
Our algorithm being optimal with respect to the Herbrand interpretation, it is a well-founded basis for the construction of further algorithms using special properties of a given interpretation. These can be obtained by transforming the Kildall-like analysis stage only.
- [Ba]Barth, G. "Interprozedurale Datenflußsysteme", Habilitationsschrift, Universität Kaiserslautern, 1981Google Scholar
- [CC1]Cousot, P. and Cousot, R. "Abstract interpretation: A unified Lattice Model for static Analysis of Programs by Construction or Approximation of Fixpoints", 4th POPL, Los Angeles, California, 238–252, 1977Google Scholar
- [CC2]Cousot, P. and Cousot, R. "Automatic Synthesis of Optimal Invariant Assertations: Mathematical Foundations", ACM Sigplan Notices 12, 1–12, 1977Google Scholar
- [CC3]Cousot, P. and Cousot, R. "Systematic Design of Program Analysis Frameworks", 6th POPL, San Antonio, Texas, 269–282, 1979Google Scholar
- [FKU]Fong, A. C., Kam, J. B. and Ullman, J. D. "Applications of Lattice Algebra to Loop Optimization", 2nd POPL, Palo Alto, California, 1–9, 1975Google Scholar
- [Gr]Greibach, S. A. "Theory of Program Structures: Schemes, Semantics, Verification", LNCS 36, Springer-Verlag, 1975Google Scholar
- [He]Hecht, M. S. "Flow Analysis of Computer Programs", Elsevier, North-Holland, 1977Google Scholar
- [KU]Kam, J. B. and Ullman, J. D. "Monotone Data Flow Analysis Frameworks", Acta Informatica, 7, 309–317, 1975Google Scholar
- [Ki1]Kildall, G. A. "Global Expression Optimization during Compilation", Technical Report No. 72-06-02, University of Washington, Computer Science Group, Seattle, Washington, 1972Google Scholar
- [Ki2]Kildall, G. A. "A Unified Approach to Global Program Optimization", 1st POPL, Boston, Massachusetts, 194–206, 1973Google Scholar
- [Mi]Milner, R. "Fully Abstract Models of Typed λ-Calculi", TCS 4, North Holland, 1–22, 1977Google Scholar
- [MR]Morel, E. and Renvoise, C. "Global Optimization by Suppression of Partial Redundancies", CACM, 22: 2, 96–103, 1979Google Scholar
- [Ni]Nielson, F. "A Bibliography on Abstract Interpretations", ACM Sigplan Notices 21, 31–38, 1986Google Scholar
- [Ol]Olderog, E.-R. "Charakterisierung Hoarescher Systeme für ALGOL — ähnliche Programmiersprachen", Dissertation, Christian-Albrechts-Universität Kiel, 1981Google Scholar
- [RL]Reif, J. H. and Lewis, R. "Symbolic Evaluation and the Global Value Graph", 4th POPL, Los Angeles, California, 238–252, 1977Google Scholar
- [St]Steffen, B., doctoral dissertation, to appear, 1987Google Scholar