Nach positiver Absolvierung der Lehrveranstaltung sind Studierende in der Lage...
After successful completion of the course, the students are able to understand the fundamentals of program analysis, apply several program analysis tools to real-world examples, differentiate between different program analysis approaches, decide when an approach is applicable, and appreciate the state of the art in program analysis research.
Students will get an overview of the research area of program analysis - approaches to automatically determine important properties of programs, such as their correctness. After a quick recap of the syntax and semantics of programming languages, the course will dive into topics like (optional) type systems, dataflow analysis, deductive verification, and dynamic approaches. The second half of the course will consist of project or paper presentations by the students, exploring the state of the art in program analysis. The topics of the presentations will be agreed upon between the students and the instructor in the first lecture. Students are then expected to independently work on their presentations, research the required literature, and consult with the instructor.