18-739M: Special Topics in Security: Formal Foundations of Software Security
Understanding security requirements of software systems and being able to formally demonstrate that a piece of software is secure is key to eliminating vulnerabilities in computer systems. This course will examine formal approaches to analyzing the security properties of software and constructing secure software systems. Topics include language-based techniques, such as verification using dependent types and constructing software using safe subsets of widely used programming languages; and state space exploration-based (model checking) techniques. Students will learn how to analyze large-scale software systems and construct provably secure software. Students will read advanced research papers and work on a course project in groups of two or three.
Last Modified: 2018-10-01 4:55PM
- Spring 2016