Course Information

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.

Prerequisites: Computer science and engineering background for Phd students. MS students and undergraduates can be enrolled as per instructors’ approval.

Last Modified: 2017-04-24 6:53PM

Semesters offered:

  • Spring 2017
  • Spring 2016