The students gain a comprehensive understanding of the theoreticalfoundations and practical applications of program analysis andoptimization in compiler construction. They learn to valuate thepotential and limitations of automatic analyses andoptimizations. Beyond applications in compiler construction, thisallows them to design and write software in a style that, wherepossible, comprehensibility, maintainability, and robustness isprioritized over unnecessary performance considerations.
The course is concerned with the theory and practice of programanalysis and optimization, which is an essential field of research inthe area of programming languages and compilers. The course stretchesfrom the theoretical foundations to practical applications and theautomatic generation of program analyses andoptimizations. Theoretical and practical assignments as part of thetutorial offer the opportunity to independently apply and practicevarious analysis and optimization techniques, to prove properties theymeet, and to gain hands-on experience of the SATIrE tool used forpractical assignments. SATIrE integrates various tools for theanalysis and optimization of object-oriented languages, among thesethe Program Analyzer Generator (PAG).The course considers in particular the following topics and theirrealization by means of SATIrE:
In detail:
The preliminary course meeting and the first lecture take place on Tueday, 3 October 2017, 3.15 - 4.45 pm, in "Hörsaal GM7Kleiner Schiffbau", Bauteil BD Hoftrakt (1st Floor), Room number BD01B41,Getreidemarkt 9.
ECTS Break Down:
The course is assigned 3.0 ECTS points. This corresponds to an averageworkload of 75 hours. This average workload is divided among thevarious parts of the course as follows:
Assessment of the programming assignments and the oral examinationon the lecture and tutorial materials. Further information on theexamination modalities are given on the homepage of the course.
The course extends the course 185.311 Compiler Construction andcomplements the courses 185.274 Advanced Compiler Construction and185.276 Analysis and Verification. The course is thus especiallyrecommended for students who would like to focus on the field ofprogramming languages and compilers, and plan to work on a project orto write a seminar or master's thesis in this field.