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
The course is run in a plain 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 Monday, 4 October 2021, 3.15pm-5.00pm (inclusive of a 15 minutes break), exclusively online in the form of a video conference. The access information for joining the video conference will be provided on time in the TUWEL course of the course.
There are no further rated assessments.
Detailed information on the assessment procedures and modalities are givenin the notes of the preliminary course meeting (cf. homepage of the course).
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.