185.A04 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.

2012W, VU, 2.0h, 3.0EC, to be held in blocked form

Properties

  • Semester hours: 2.0
  • Credits: 3.0
  • 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
  • ...

The preliminary course meeting takes place on
Tue, 2 October 2012, 4.15 - 4.45 pm, in the library E185.1,
Argentinierstr. 8, 4th floor (centre). The first lecture will be on Wednesday, October 10th, 2012.

Additional information

ECTS Break Down:

The course is assigned 3.0 ECTS points. This corresponds to an average
workload of 75 hours. This average workload is divided among the
various parts of the course as follows:

  • Attending the lectures, pre- and post-processing: 35 hours.
  • Assignments and excercise interviews: 35 hours.
  • Preparation for the examination and oral examination: 5 hours.

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Wed16:00 - 18:0003.10.2012 - 23.01.2013Hörsaal 14 Optimizing Compilers
Optimizing Compilers - Single appointments
DayDateTimeLocationDescription
Wed03.10.201216:00 - 18:00Hörsaal 14 Optimizing Compilers
Wed10.10.201216:00 - 18:00Hörsaal 14 Optimizing Compilers
Wed17.10.201216:00 - 18:00Hörsaal 14 Optimizing Compilers
Wed24.10.201216:00 - 18:00Hörsaal 14 Optimizing Compilers
Wed31.10.201216:00 - 18:00Hörsaal 14 Optimizing Compilers
Wed07.11.201216:00 - 18:00Hörsaal 14 Optimizing Compilers
Wed14.11.201216:00 - 18:00Hörsaal 14 Optimizing Compilers
Wed21.11.201216:00 - 18:00Hörsaal 14 Optimizing Compilers
Wed28.11.201216:00 - 18:00Hörsaal 14 Optimizing Compilers
Wed05.12.201216:00 - 18:00Hörsaal 14 Optimizing Compilers
Wed12.12.201216:00 - 18:00Hörsaal 14 Optimizing Compilers
Wed19.12.201216:00 - 18:00Hörsaal 14 Optimizing Compilers
Wed26.12.201216:00 - 18:00Hörsaal 14 Optimizing Compilers
Wed02.01.201316:00 - 18:00Hörsaal 14 Optimizing Compilers
Wed09.01.201316:00 - 18:00Hörsaal 14 Optimizing Compilers
Wed16.01.201316:00 - 18:00Hörsaal 14 Optimizing Compilers
Wed23.01.201316:00 - 18:00Hörsaal 14 Optimizing Compilers
Course is held blocked

Examination modalities

Assessment of the programming assignments and the oral examination
on the lecture and tutorial materials. Further information on the
examination modalities are given on the homepage of the course.


Course registration

Not necessary

Curricula

Study CodeObligationSemesterPrecon.Info
066 931 Computational Intelligence Not specified
066 937 Software Engineering & Internet Computing Not specified
066 938 Computer Engineering Mandatory elective

Literature

No lecture notes are available.

Previous knowledge

The course extends the course 185.311 Compiler Construction and
complements the courses 185.274 Advanced Compiler Construction and
185.276 Analysis and Verification. The course is thus especially
recommended for students who would like to focus on the field of
programming languages and compilers, and plan to work on a project or
to write a seminar or master's thesis in this field.

Preceding courses

Accompanying courses

Miscellaneous

Language

German