Automated Techniques for Software Reliability

Course no.
263-2910-00L
Semester
Autumn 2012
Lecturer
Martin Vechev
TA
Veselin Raychev
Time
Wednesday, 9am-11am
Place
CAB G56
Credits
4
EDoz Link
Catalog Info


Overview

The last 10 years have seen an explosion in techniques for automated program analysis. These techniques have enabled a vast range of interesting applications: from ensuring correctness of complex algorithms to finding security violations in mobile applications and even to code synthesis.

This course will cover the core principles behind these automated techniques including static and dynamic program analysis, symbolic execution, predicate abstraction, pointer analysis as well as practical analysis frameworks such as Soot.

To gain a deeper understanding of how to apply these techniques in practice, the course will involve a small hands-on programming project where based on the principles introduced in class, the students will build a program analyzer for a modern programming language.