Formal Methods for Systems Security
Spring 2025
COMP 590/790-132 (Syllabus)
Day and Time: TBD
FB007

Instructor

Cynthia Sturton
csturton@cs.unc.edu
FB354
Office Hours: calendar

Course Description

Formal methods provide a rigorous, mathematically grounded analysis of a system. Used as part of a security analysis, formal methods can provide verification that a system meets its security requirements. In this course students will learn about and gain experience using a variety of techniques, including symbolic execution, model checking, and proofs of equivalence and refinement. Students will develop an understanding of different specification logics and what can and cannot be expressed in each. Topics include assertion-based verification, simulation relations, linear temporal logic, information flow analysis, and hyperproperties.

The 790 course is open to all CS graduate students. Graduate students outside the CS department who wish to take the class should attend the first week of class and speak to the instructor at the end of class. The 590 course is open to CS undergraduate students who have completed (with a grade of C or higher) COMP 210, 211, 283, 311, 455, or who have equivalent background knowledge. Contact the instructor with any questions about eligibility.

Textbooks

There are no required textbooks. Required readings will be posted online in the course schedule.

Project

Students will work in groups of 2 or 3 on an original research project. At the end of the semester, each group will submit a workshop-quality paper and give a short presentation in class describing their work. A written project proposal will be due roughly five weeks into the semester. We will discuss possible project ideas in class; however, you are encouraged to develop your own ideas.

Key Dates

FDOC: 1/8/25
Project groups formed: 1/26/25
Project proposal due: 2/23/25
Progress reports: 3/23/25
Final paper due: 4/22/25
Code artifact due: 4/27/25
LDOC: 4/28/25
Final presentations: 4/30/25 (scheduled final exam time)