Optimal run time optimization proved by a new look at abstract interpretations

  • Bernhard Steffen
Session CAAP 2 Proving Techniques
Part of the Lecture Notes in Computer Science book series (LNCS, volume 249)


A two stage run time optimization algorithm is presented that combines two well-known techniques in a Herbrand optimal manner:
  • - 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.

VII. Literature

  1. [Ba]
    Barth, G. "Interprozedurale Datenflußsysteme", Habilitationsschrift, Universität Kaiserslautern, 1981Google Scholar
  2. [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
  3. [CC2]
    Cousot, P. and Cousot, R. "Automatic Synthesis of Optimal Invariant Assertations: Mathematical Foundations", ACM Sigplan Notices 12, 1–12, 1977Google Scholar
  4. [CC3]
    Cousot, P. and Cousot, R. "Systematic Design of Program Analysis Frameworks", 6th POPL, San Antonio, Texas, 269–282, 1979Google Scholar
  5. [Co]
    Cook, S. A. "Soundness and Completeness of an Axiom System for Program Verification", SIAM Journal Computing, 7: 1, 70–90, 1978CrossRefGoogle Scholar
  6. [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
  7. [Gr]
    Greibach, S. A. "Theory of Program Structures: Schemes, Semantics, Verification", LNCS 36, Springer-Verlag, 1975Google Scholar
  8. [He]
    Hecht, M. S. "Flow Analysis of Computer Programs", Elsevier, North-Holland, 1977Google Scholar
  9. [KU]
    Kam, J. B. and Ullman, J. D. "Monotone Data Flow Analysis Frameworks", Acta Informatica, 7, 309–317, 1975Google Scholar
  10. [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
  11. [Ki2]
    Kildall, G. A. "A Unified Approach to Global Program Optimization", 1st POPL, Boston, Massachusetts, 194–206, 1973Google Scholar
  12. [La]
    Langmaack, H. "On Procedures as Open Subroutines. I" Acta Informatica 2, 311–333, 1973CrossRefGoogle Scholar
  13. [Mi]
    Milner, R. "Fully Abstract Models of Typed λ-Calculi", TCS 4, North Holland, 1–22, 1977Google Scholar
  14. [MR]
    Morel, E. and Renvoise, C. "Global Optimization by Suppression of Partial Redundancies", CACM, 22: 2, 96–103, 1979Google Scholar
  15. [Ni]
    Nielson, F. "A Bibliography on Abstract Interpretations", ACM Sigplan Notices 21, 31–38, 1986Google Scholar
  16. [Ol]
    Olderog, E.-R. "Charakterisierung Hoarescher Systeme für ALGOL — ähnliche Programmiersprachen", Dissertation, Christian-Albrechts-Universität Kiel, 1981Google Scholar
  17. [RL]
    Reif, J. H. and Lewis, R. "Symbolic Evaluation and the Global Value Graph", 4th POPL, Los Angeles, California, 238–252, 1977Google Scholar
  18. [St]
    Steffen, B., doctoral dissertation, to appear, 1987Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Bernhard Steffen
    • 1
  1. 1.Institut für InformatikUniversität KielKiel

Personalised recommendations