Optimierende Übersetzer
LVA 185.187, VL 3.0, ECTS 4.5, 2008 W
(zweistündige Vorlesung mit Übung; siehe auch
TUWIS++/185.187)
Haben Sie Interesse an einem geförderten
Auslandsstudium?
Informationen zu Fördermöglichkeiten finden Sie
hier.
Anmeldesystem freigeschaltet!
Das
elektronische Anmeldesystem ist freigeschaltet (10.10.2008). Sie
können sich ab sofort anmelden.
Zum Anmeldesystem.
Vorlesungstermine
- Mi, 18.02.2009, Abschlusstermin und -prüfung, ab 10:00 Uhr
s.t. in Bibliothek E185.1, Argentinierstr. 8, 4. Stock (Mitte)
- Mi, 21.01.2009, Vorlesung von 14:00-15:30 Uhr
s.t. in
Bibliothek E185.1, Argentinierstr. 8, 4. Stock (Mitte)
- Mi, 17.12.2008. Keine Vorlesung, stattdessen
Kolloquiumsvortrag
Darum
gehört die Stadt Dir.
- Mi, 10.12.2008, Vorlesung von 16:00-17:30 Uhr s.t. im
Eckert-Hörsaal EI 6, Gußhausstr. 25 ("Alte EI")
- Mi, 03.12.2008, Vorlesung von 16:00-17:30 Uhr s.t. im
Eckert-Hörsaal EI 6, Gußhausstr. 25 ("Alte EI")
- Mi, 26.11.2008. Keine Vorlesung, stattdessen
Abgabegespräche der bisherigen Abgaben. Terminabsprache
(so nicht schon in der Vorlesung am 19.11.2008 geschehen), bitte
direkt mit Gergö
Barany.
- Mi, 19.11.2008, Vorlesung von 16:00-17:30 Uhr s.t.
im
Eckert-Hörsaal EI 6, Gußhausstr. 25 ("Alte EI")
- Mi, 12.11.2008, Vorlesung von 16:00-17:00 Uhr s.t. im
Eckert-Hörsaal EI 6, Gußhausstr. 25 ("Alte EI")
- Mi, 05.11.2008, Vorlesung von 16:00-17:30 Uhr s.t. im
Eckert-Hörsaal EI 6, Gußhausstr. 25 ("Alte EI")
- Mi, 22.10.2008, Vorlesung von 16:00-17:30 Uhr s.t. im
Eckert-Hörsaal EI 6, Gußhausstr. 25 ("Alte EI")
- Mi, 08.10.2008, Vorlesung von 16:00-17:30 Uhr s.t. in
Bibliothek E185.1, Argentinierstr. 8, 4. Stock (Mitte)
- Mi, 01.10.2008, Vorbesprechung von 14:30-15:00 Uhr s.t. im
Hörsaal 4, Freihaus
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 eine
Web-Demo verfügbar ist
(/PAG/WWW website).
Die Web-Demo erlaubt einige Analysen für eine einfache WHILE-Sprache
laufen zu lassen. Die in der Übung verwendete Umgebung
verwendet die selben Visualisierungsmöglichkeiten wie die Web-Demo,
stellt aber wesentlich umfangreichere Möglichkeiten für die Analyse und
Optimierung von prozeduralen und objekt-orientierten Sprachen zur
Verfügung.
Ziele
Die Effizienz von Programmen ist entscheidend davon abhängig, welche
Optimierungen automatisch vom Übersetzer 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
Übersetzers, Design und Implementierung von Software nicht mehr
unnötigen Effizienzüberlegungen unterworfen wird.
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.
Termine
Die Lehrveranstaltung wird im Wintersemester 2008/2009
geblockt abgehalten. Die Vorbesprechung findet am
Mi, den 01.10.2008, von 14:30 Uhr bis 15:00 Uhr im
Hörsaal 4 im Freihaus statt.
Neuer Vorlesungstermin und -ort
Ab Mi, den 05.11.2008 findet die Vorlesung mittwochs
von 16:00 Uhr s.t. bis 17:30 Uhr im
Eckert-Hörsaal EI 6, Gußhausstr. 25 ("Alte EI"), statt.
Lehrbehelfe
Während der Lehrveranstaltung werden die verwendeten Folien und
Aufgabenstellungen für den Übungsteil an dieser Stelle zur
Verfügung gestellt.
Vorlesung
Folien vom
| Thema
| Verfügbare Formate
| Hinweise und Bemerkungen
|
21.01.2009
8. Vorlesungsteil
| Ergänzungen: Slicing
| .pdf
.pdf.gz
| Letzter Vorlesungsteil.
|
21.01.2009
7. Vorlesungsteil
| Analyse und Optimierung von objektorientierten
Sprachen
| .pdf
.pdf.gz
| [L2:Kapitel 6], [L5:Kapitel 13]
Aktualisiert am 18.02.2009.
|
03.12.2008
6. Vorlesungsteil
| Zeigeranalyse, Aliasanalyse,
Gestaltanalyse von dynamischen
Datenstrukturen
| .pdf
.pdf.gz
| [L1:Kapitel 2.6], [L3:Kapitel 10], [L2:Kapitel 5]
|
19.11.2008
5. Vorlesungsteil
| Interprozedurale Datenflussanalyse
| .pdf
.pdf.gz
| [L1:Kapitel 2.5, Kapitel 6]
Am 26.11.2008 keine
Vorlesung, stattdessen
Abgabegespräche der
bisherigen Abgaben.
|
12.11.2008
4. Vorlesungsteil
| Datenflussrahmen
| .pdf
.pdf.gz
| [L1:Kapitel 2.3 & 2.4, Kapitel 6]
|
05.11.2008
3. Vorlesungsteil
| Intraprozedurale
Rückwärtsanalysen
| .pdf
.pdf.gz
| [L1:Kapitel 2.1-4].
|
22.10.2008
2. Vorlesungsteil
| Intraprozedurale
Vorwärtsanalysen
| .pdf
.pdf.gz
| [L1:Kapitel 1, 2.1-4]
|
08.10.2008
1. Vorlesungsteil
| Einführung und
Grundlagen
| .pdf
.pdf.gz
| Keine.
|
01.10.2008
Vorbesprechung
| Motivation und
Organisatorisches
| .pdf
.pdf.gz
| Termin und Ort
der Vorbesprechung:
Mi, 01.10.2008,
14:30-15:00 Uhr, Hörsaal FH 4
|
Zur Orientierung finden Sie auch entsprechende Informationen aus
dem
Wintersemester 2007/2008.
Literaturhinweise
- [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.
- [L5] Y. N. Srikant, Priti Shankar: The
Compiler Design Handbook: Optimizations & Machine Code Generation,
CRC Press; 2nd edition, (ISBN: 978-1-4200-4382-2), 2008.
Leistungsnachweis
Beurteilung der Beispiele und mündliche Prüfung.
Vortragender
Jens Knoop.