Optimierende Übersetzer
LVA 185.187, VL 3.0, ECTS 4.5, 2009 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 (18.10.2009). Sie
können sich ab sofort anmelden.
Zum Anmeldesystem.
Vorlesungstermine
- Sa, 23.01.2010, Vorlesung von 10:00-11:00 Uhr in der
Bibliothek E185.1, Argentinierstr. 8, 4. Stock (Mitte)
- Mi, 13.01.2010, Vorlesung von 15:30-17:00 Uhr in der
Bibliothek E185.1, Argentinierstr. 8, 4. Stock (Mitte)
- Mi, 16.12.2009. Keine Vorlesung, stattdessen
Abgabegespräche
- Mi, 09.12.2009, Vorlesung von 15:30-17:00 Uhr in der
Bibliothek E185.1, Argentinierstr. 8, 4. Stock (Mitte)
- Mi, 02.12.2009, Vorlesung von 15:30-17:00 Uhr in der
Bibliothek E185.1, Argentinierstr. 8, 4. Stock (Mitte)
- Mi, 25.11.2009, Vorlesung von 15:30-17:00 Uhr in der
Bibliothek E185.1, Argentinierstr. 8, 4. Stock (Mitte)
- Mi, 18.11.2009, Vorlesung von 15:30-17:00 Uhr in der
Bibliothek E185.1, Argentinierstr. 8, 4. Stock (Mitte)
- Mi, 04.11.2009, Vorlesung von 15:30-17:00 Uhr in der
Bibliothek E185.1, Argentinierstr. 8, 4. Stock (Mitte)
- Neue Vorlesungszeit und -ort ab 28.10.2009:
Mi, 28.10.2009, Vorlesung von 15:30-17:00 Uhr in der
Bibliothek E185.1, Argentinierstr. 8, 4. Stock (Mitte)
- Mi, 21.10.2009, Vorlesung von 16:15-17:45 Uhr im
Hörsaal 14, Karlsplatz 13
- Mi, 07.10.2009, Gemeinsame Vorbesprechung von 11:00-12:00 Uhr s.t. im
Hörsaal 4, Elektrotechnik
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 2009/2010
geblockt abgehalten. Die Vorbesprechung findet am
Mi, den 07.10.2009, von 11:00 Uhr bis 12:00 Uhr im
Hörsaal 4, Elektrotechnik, statt. Regulärer Vorlesungstermin
ab Mittwoch, den 28.10.2009, ist jeweils mittwochs von 15:30 Uhr bis
17:00 Uhr sein in der Biblithek E185.1, Argentinierstr. 8,
4. Stock (Mitte).
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
|
23.01.2010
8. Vorlesungsteil
| Ergänzungen: Slicing
| .pdf
.pdf.gz
| Letzter Vorlesungsteil.
|
23.01.2010
7. Vorlesungsteil
| Analyse und Optimierung von objektorientierten
Sprachen
| .pdf
.pdf.gz
| [L2:Kapitel 6], [L5:Kapitel 13]
|
09.12.2009&13.01.2010
6. Vorlesungsteil
| Zeigeranalyse, Aliasanalyse,
Gestaltanalyse von dynamischen
Datenstrukturen
| .pdf
.pdf.gz
| [L1:Kapitel 2.6], [L3:Kapitel 10], [L2:Kapitel 5]
|
02.12.2009
5. Vorlesungsteil
| Interprozedurale Datenflussanalyse
| .pdf
.pdf.gz
| [L1:Kapitel 2.5, Kapitel 6]
|
25.11.2009
4. Vorlesungsteil
| Datenflussrahmen
| .pdf
.pdf.gz
| [L1:Kapitel 2.3 & 2.4, Kapitel 6]
|
25.11.2009
3. Vorlesungsteil
| Intraprozedurale
Rückwärtsanalysen
| .pdf
.pdf.gz
| [L1:Kapitel 2.1-4].
|
18.11.2009
2. Vorlesungsteil
| Intraprozedurale
Vorwärtsanalysen
| .pdf
.pdf.gz
| [L1:Kapitel 1, 2.1-4]
|
21.10.2009
1. Vorlesungsteil
| Einführung und
Grundlagen
| .pdf
.pdf.gz
| Keine.
|
21.10.2009
Vorbesprechung
| Motivation und
Organisatorisches
| .pdf
.pdf.gz
| Termin und Ort
der Vorbesprechung:
Mi, 21.10.2009,
16:15 - 16:30 Uhr, Hörsaal 14, Karlsplatz 13
|
Zur Orientierung finden Sie auch entsprechende Informationen aus
dem
Wintersemester 2008/2009.
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.