The students gain a comprehensive understanding of the theoretical foundations and practical applications of program analysis and optimization in compiler construction. They learn to valuate the potential and limitations of automatic analyses and optimizations. Beyond applications in compiler construction, this allows them to design and write software in a style that, where possible, comprehensibility, maintainability, and robustness is prioritized over unnecessary performance considerations.
The course is concerned with the theory and practice of program analysis and optimization, which is an essential field of research in the area of programming languages and compilers. The course stretches from the theoretical foundations to practical applications and the automatic generation of program analyses and optimizations. Theoretical and practical assignments as part of the tutorial offer the opportunity to independently apply and practice various analysis and optimization techniques, to prove properties they meet, and to gain hands-on experience of the SATIrE tool used for practical assignments. SATIrE integrates various tools for the analysis and optimization of object-oriented languages, among these the Program Analyzer Generator (PAG)
.
The course considers in particular the following topics and their realization by means of SATIrE:
Die Vorbesprechung zur Vorlesung findet am Mittwoch, den 13.10.2010, von 16:15 Uhr bis 17:00 Uhr in der Bibliothek E185.1, Argentinierstr. 8, 4. Stock (Mitte) statt. Die erste Vorlesung findet dann am Mittwoch, den 27.10.2010, von 16:15 bis 17:45 im HS14, Karlsplatz 13, statt.
Beurteilung der Beispiele aus der Übung und mündliche Abschlussprüfung über Vorlesungs- und Übungsstoff. Weitere Angaben zum Beurteilungs- und Prüfungsablauf sind auf der homepage der Lehrveranstaltung gegeben.
Ort: Vorbesprechung
Die Vorlesung schließt inhaltlich an die Lehrveranstaltung 185.311 Übersetzerbau an und ergänzt die Lehrveranstaltungen 185.274 Weiterführender Übersetzerbau und 185.276 Analyse und Verifikation. Sie empfiehlt sich deshalb inbesondere für Studierende, die im Bereich von Programmiersprachen und Übersetzerbau einen besonderen Schwerpunkt setzen, eine Seminararbeit, ein Praktikum oder ihre Diplomarbeit anfertigen möchten.