Day and Time: TBD
FB007
Instructor
Cynthia Sturtoncsturton@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/25Project 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)