185.187 Optimizing Compilers
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2010W, VU, 3.0h, 4.5EC, to be held in blocked form

Properties

  • Semester hours: 3.0
  • Credits: 4.5
  • Type: VU Lecture and Exercise

Aim of course

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.

Subject of course

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:

  • Foundations and applications of program analysis and optimization
  • Data-flow analysis (forward, backward, existential, universal)
  • Data-flow frameworks (intraprocedural, interprocedural)
  • Machine-independent optimizations, in particular syntactic and semantic redundancy elimination
  • Points-to, alias, and shape analysis
  • Analysis and optimization of object-oriented programs
  • Generators for analysis and optimization, especially SATIrE
  • ...

Additional information

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.

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Wed16:00 - 18:0006.10.2010 - 27.01.2011Hörsaal 14 KNOOP
Optimizing Compilers - Single appointments
DayDateTimeLocationDescription
Wed06.10.201016:00 - 18:00Hörsaal 14 KNOOP
Wed13.10.201016:00 - 18:00Hörsaal 14 KNOOP
Wed20.10.201016:00 - 18:00Hörsaal 14 KNOOP
Wed27.10.201016:00 - 18:00Hörsaal 14 KNOOP
Wed03.11.201016:00 - 18:00Hörsaal 14 KNOOP
Wed10.11.201016:00 - 18:00Hörsaal 14 KNOOP
Wed17.11.201016:00 - 18:00Hörsaal 14 KNOOP
Wed24.11.201016:00 - 18:00Hörsaal 14 KNOOP
Wed01.12.201016:00 - 18:00Hörsaal 14 KNOOP
Wed08.12.201016:00 - 18:00Hörsaal 14 KNOOP
Wed15.12.201016:00 - 18:00Hörsaal 14 KNOOP
Wed22.12.201016:00 - 18:00Hörsaal 14 KNOOP
Wed29.12.201016:00 - 18:00Hörsaal 14 KNOOP
Wed05.01.201116:00 - 18:00Hörsaal 14 KNOOP
Wed12.01.201116:00 - 18:00Hörsaal 14 KNOOP
Wed19.01.201116:00 - 18:00Hörsaal 14 KNOOP
Wed26.01.201116:00 - 18:00Hörsaal 14 KNOOP
Course is held blocked

Examination modalities

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.

Course registration

Registration modalities

Ort: Vorbesprechung

Curricula

Study CodeObligationSemesterPrecon.Info
066 937 Software Engineering & Internet Computing Mandatory elective

Literature

  • Course textbook:
    • Flemming Nielson, Hanne Riis Nielson, Chris Hankin. Principles of Program Analysis. Springer-V., 2. Auflage (452 pages, ISBN 3-540-65410-0), 2005.
  • Further readings:
    • Keith D. Cooper, Linda Torczon. Engineering a Compiler. Morgan Kaufmann, (801 pages, ISBN 155860698X), 2003.
    • Steven S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann, (856 pages, ISBN 1558603204), 1997.
    • Y. N. Srikant, Priti Shankar. The Compiler Design Handbook: Optimizations & Machine Code Generation. CRC Press, 1st edition, (928 pages, ISBN 084931240X), 2002.

Previous knowledge

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.

Preceding courses

Accompanying courses

Miscellaneous

Language

German