[I2 logo] [RWTH logo] MOVES: Software Modeling and Verification
(Informatik 2)
Computer Science / RWTH / I2 / Teaching / Course / PA / 2004
Printer-friendly

Programmanalyse und Compileroptimierung

Wintersemester 2004

Diplomstudiengang Informatik, Masterstudiengang Software Systems Engineering
(Theoretische Informatik, Vertiefungsfach)

Termine

Art Zeit Ort Beginn Veranstalter
V Mi 10:00-11:30
Fr 10:00-11:30
AH II
AH II
13.10.2004 Indermark
Ü Mi 14:15-15:45 AH II 20.10.2004 Stolz

Klausur

[ps]Ergebnisse der Klausur (nur zugänglich innerhalb der Domain rwth-aachen.de). Die Übungsscheine können ab März im Sekretariat des Lehrstuhls abgeholt werden.

Inhalt

Die Konstruktion von effizienten Software-Werkzeugen, z.B. von optimierenden Compilern, erfordert die Kenntnis semantischer Programmeigenschaften. Diese können mit Methoden der Programmanalyse berechnet und für geeignete Programmtransformationen und -übersetzungen ausgenutzt werden.

In dieser Vorlesung sollen grundlegende Analysetechniken für imperative Programmiersprachen und ihre Anwendung auf die Compileroptimierung behandelt werden:

  • Analyse und Optimierung von Straight-Line Code
  • Datenflußanalyse und Optimierung iterativer Programme
  • Kontrollflußanalyse und Schleifenoptimierung
  • Interprozedurale Analyse
  • Shape-Analyse von Programmen mit dynamischen Datenstrukturen

Diese Vorlesung kann unabhängig von der Vorlesung Compilerbau besucht werden!

Folien

  • Kap. 0: Einführung [pdf] [ps]
  • Kap. 1: Einführung [pdf] [ps]
  • Kap. 2: Analyse und Optimierung von Straight-Line-Code [pdf] [ps]
  • Kap. 4: Datenflußanalyse und Optimierung iterativer Programme [pdf] [ps]
  • Kap. 5: Kontrollflussanalyse und Schleifenoptimierung [pdf] [ps]
  • Kap. 6: Interprozedurale Analyse [pdf] [ps]
  • Kap. 7: Shape-Analyse [pdf] [ps]

Übungen

  • 1. Übung [pdf] [ps]
  • 2. Übung [pdf] [ps]
  • 3. Übung [pdf] [ps]
  • 4. Übung [pdf] [ps]
  • 5. Übung [pdf] [ps]
  • 6. Übung [pdf] [ps]
  • 7. Übung [pdf] [ps]
  • 8. Übung [pdf] [ps]
  • 9. Übung [pdf] [ps]
  • 10. Übung [pdf] [ps]
  • 11. Übung [pdf] [ps]
  • 12. Übung [pdf] [ps]

Literatur

  • F. Nielson, H.R. Nielson, C. Hankin: Principles of Program Analysis, Springer-Verlag, 1999
  • Steven S. Muchnik: Advanced Compiler Design and Implementation, Morgan Kaufmann, 1997
  • Steven S. Muchnik, Neil D. Jones: Program Flow Analysis, Prentice Hall, 1981
  • R. Wilhelm, D. Maurer: Übersetzerbau, Springer-Verlag, 1992
  • A. Aho, R. Sethi, J.Ullman: Compilers - Principles, Techniques, and Tools, Addison-Wesley, 1988
  • R. Morgan: Building an Optimizing Compiler, Digital Press, 1998
  • T. Fahringer, B. Scholz: Advanced Symbolic Analysis for Compilers, LNCS 2628, Springer-Verlag, 2003
  • R. Allen, K. Kennedy: Optimizing Compilers for Modern Architectures, Morgan Kaufmann Publ., 2002
  • Thomas Noll: Programmoptimierung durch Konstantenanalyse, Informatik-Kolloquium der RWTH Aachen, 24.07.2003
Valid HTML 4.01 Strict! Valid CSS!