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.
|1||Course Logistics and Overview||Lec01||2||Program Representations||Lec02||3||Dynamic Analysis - Part 1||Lec03|
|4||Dynamic Analysis - Part 2||Lec04||5||Program Semantics and Formulating Dynamic Analysis||Lec05|
|8||Model Checking and Probabilistic Analysis||Lec08|
|Final Exam: 4:00-5:30pm|