After successful completion of the course, students are able to (among others)
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).
Part I: Introduction
Part II: Intraprocedural Data Flow Analysis
Part III: Interprocedural Data Flow Analysis
Part IV: Extensions, other Settings
Part V: Conclusions
References
Appendices
Selected Reading Recommendations
Methods
The course is planned as in-person activity. In case of anew restrictions due to the pandemic or energy shortage, the course will be changed to an online mode.
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 learning activities of the course as follows (the description Part I to Part V refers to Part I to Part V of the course notes):
The course starts with a preliminary course meeting and the first lecture on Tuesday, 4 October 2022, 4.15pm-5.45pm, EI 6 Eckert HS.
There are no further rated assessments.
Detailed information on the assessment procedures and modalities are givenin the notes of the preliminary course meeting (cf. TUWEL).
The course extends the course 185.A48 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.