Software security is of criticality. Program analysis is one of the most important approaches to ensuring software security. In this course, we study the various program analyses that can be used to address security problems, including dynamic, static and symbolic analyses. Students will gain not only hands-on experience on implementing program analyses, but also the capabilities of designing and formulating analysis.
Lecture# | TOPICS | Slides | ||
---|---|---|---|---|
Day One | ||||
1 | Course Logistics and Overview | Lec01 | 2 | Program Representations | Lec02 | 3 | Dynamic Analysis - Part 1 | Lec03 |
Day Two | ||||
4 | Dynamic Analysis - Part 2 | Lec04 | 5 | Program Semantics and Formulating Dynamic Analysis | Lec05 |
Day Three | ||||
6 | Static Analysis | Lec06 | ||
Day Four | ||||
7 | Symbolic Analysis | Lec07 | ||
Day Five | ||||
8 | Model Checking and Probabilistic Analysis | Lec08 | ||
Final Exam: 4:00-5:30pm |