Markus Schordan, TU Wien
LVA 185.187: Optimierende Übersetzer
Ziel der Lehrveranstaltung
Die Effizienz von Programmen ist entscheidend davon abhängig, welche
Optimierungen automatisch vom Compiler durchgeführt werden
können. Das Ziel ist ein tieferes Verständnis für die
Möglichkeiten und Beschränkungen einiger ausgewählter Analysen und
Optimierungen zu vermitteln. Dies soll dazu führen, Software in
Zukunft so schreiben zu können, dass bei Vertrauen auf die
Optimierungsmöglichkeiten des Compilers, Design und Implementierung
von Software nicht mehr unnötigen Effizienzüberlegungen unterworfen
wird.
Vortragender
Markus Schordan, Tel.: 58801/18516, E-mail: markus@complang.tuwien.ac.at
Termine
Die Lehrveranstaltung wird im Wintersemester 2007/2008 abgehalten. Die Vorbesprechung und Anmeldung findet am Mittwoch,
3.10.2007, um
14:30 im
FH Hörsaal 4 statt. Die Vorlesung findet jeweils Mittwochs von
14:15 s.t. bis 16:00 in der Bibliothek (Argentinierstrasse 8, 4. Stock) statt. Die erste Vorlesung findet am
17.10.2007 statt.
Datum | Zeit | Ort | Inhalt | Spezifische Literaturangaben |
Mi 04.10.2007 | 14:30-15:00 s.t. | FH HS 4 | Vorbesprechung und Anmeldung | - |
Mi 17.10.2007 | 14:15-16:00 s.t. | BIB |
Übersicht über Architekturen und Optimierungstechniken [Slides: pdf,ps] | - |
Mi 24.10.2007 | 14:15-16:00 s.t. | BIB | Intra-Prozedurale Datenflussanalyse (vorwärts) [Slides: pdf,ps] | [L1:Kapitel 1, 2.1-4] |
Mi 31.10.2007 | 14:15-16:00 s.t. | BIB | Intra-Prozedurale Datenflussanalyse (rückwärts) [Slides: pdf,ps] | [L1:Kapitel 2.1-4] |
Mi 7.11.2007 | 14:15-16:00 s.t. | BIB | Datenflussrahmen [Slides: pdf,ps] und Inter-Prozedurale Datenflussanalyse [Slides: pdf,ps] | [L1:Kapitel 2.5, Kapitel 6] |
Mi 14.11.2007 | 14:15-16:00 s.t. | BIB | Zeigeranalyse, Aliasanalyse, Gestaltanalyse von dynamischen Datenstrukturen [Slides: pdf,ps] | [L1:Kapitel 2.6], [L3:Kapitel 10], [L2:Kapitel 5] |
Mi 21.11.2007 | 14:15-16:00 s.t. | BIB | UE: Besprechung und Vergleich aller bisherigen UE-Abgaben | [L4] |
Mi 28.11.2007 | 14:15-16:00 s.t. | BIB | Analyse und Optimierung von objektorientierten Sprachen [Slides: pdf,ps], Slicing-Beispiele [Slides: pdf,ps] | [L2:Kapitel 6] |
Mi 5.12.2007 | 14:15-16:00 s.t. | BIB | Compilertechnologie in Werkzeugen der Softwareentwicklung | - |
Mi 12.12.2007 | 09:00-17:00 | Büro | Mündliche VO-Prüfung | alle bisherigen Angaben |
Mi 16.01.2008 | 14:15-16:00 s.t. | BIB | UE: Besprechung und Vergleich aller bisherigen UE-Abgaben | [L4] |
BIB: Argentinierstrasse 8, 4. Stock, 185.1, Bibliothek.
UE Angaben
Angaben | Abgaben |
Angabe 1 [pdf, ps] | Mi 31.10.07 14:00 |
Angabe 2 [pdf, ps] | Mi 07.11.07 14:00 |
Angabe 3 [pdf, ps] | Di 20.11.07 12:00 |
Angabe 4 [pdf, ps] | Mi 05.12.06 14:00 |
Die Beispiele können auf g0.complang.tuwien.ac.at durchgeführt werden. Die Accounts sind bereits konfiguriert.
Inhalt der Lehrveranstaltung
- Vorlesung: Datenflussanalyse, maschinenunabhängige Optimierungen, Aliasanalyse und Optimierungen für objektorientierte Sprachen.
- Übung: unter Verwendung von SATIrE. SATIrE integriert diverse Werkzeuge für Analyse und Optimierung von objekt-orienterten Sprachen. Eines der integrierten Werkzeuge ist der Program Analyzer Generator (PAG), für den auch ein Web-Demo verfügbar ist (PAG/WWW website). Das Web-Demo erlaubt einige Analysen fuer eine einfache WHILE Sprache laufen zu lassen. Die in der Übung verwendete Umgebung verwendet die selben Visualisierungsmöglichkeiten wie das Web-Demo, stellt aber wesentlich umfangreichere Möglichkeiten für die Analyse und Optimierung von prozeduralen und objekt-orientierten Sprachen zur Verfügung.
Leistungsnachweis
Beurteilung der Beispiele und mündliche Prüfung.
Vorkenntnisse, empfohlene Lehrveranstaltungen
Die Vorlesung bietet sich insbesondere für Teilnehmer der
Lehrveranstaltung 185.548 VO-Übersetzerbau zur Vertiefung an. Eine
vorausgegangene Teilnahme an dieser Veranstaltung ist hilfreich, aber
nicht Voraussetzung.
Skriptum
Das Skriptum ist ab Mi 24.10.2007 erhältlich und wird am Ende der zweiten Vorlesung verkauft.
Literatur
- [L1] Flemming Nielson, Hanne Riis Nielson, Chris Hankin:
Principles of Program Analysis.
Springer, (2nd edition, 452 pages, ISBN 3-540-65410-0), 2005.
- [L2] Y. N. Srikant, Priti Shankar:
The Compiler Design Handbook: Optimizations & Machine Code Generation,
CRC Press; 1st edition, (928 pages, ISBN: 084931240X), 2002.
- [L3]
Steven S. Muchnick:
Advanced Compiler Design and Implementation,
Morgan Kaufmann; (856 pages, ISBN: 1558603204), 1997.
- [L4]
AbsInt Angewandte Informatik GmbH:
The Program Analyzer Generator, User's Manual,
; (170 pages), 2002.