Program Analysis
Summer 2023- Lecture: Wed 10-12, ID 04/401
- Exercise: Thur 10-12, ID 04/413
Course Description and Syllabus
The course will cover, among other aspects, the following topics and techniques from the area of program analysis:
- Static and dynamic analysis of programs
- Analysis of control and data flow
- Symbolic execution
- Taint tracking
- Binary instrumentation
- Program slicing
- Overview of existing analysis tools
In the first part of the course, an introduction to x86/x64 assembler is given and the basic techniques of reverse engineering are presented. The lectures are accompanied by exercises, in which the presented concepts and techniques are practiced.
Goals
Students will be familiar with various concepts, techniques, and tools from the area of program analysis. This includes an overÂview of various concepts from the field of reverse engineering as well as binary analysis. Students have basic understanding of both static and dynamic methods for analyzing a given program. They are able to describe various aspects of program analysis and apply them to new problems.
Prerequisites
Experience in system-oriented programming, assembler as well as programming in C are helpful for understanding the topics taught. Previous knowledge from the lectures System Security / Operating System Security is helpful but not necessary for understanding the topics.