Formal Methods in Software Engineering
** available as of 06/15/2026
** available as of 06/15/2026
Prerequisites: COMP 400C.
As embedded and distributed systems are becoming ever more ubiquitous, we depend increasingly on the correctness and security of the software that controls such systems. This course studies the formal specification, verification, and synthesis of software.
Outcomes: An understanding of the role of formal methods in the construction of software systems; proficiency in representative methods and tools, such as static analysis, model checking, and runtime verification.
As embedded and distributed systems are becoming ever more ubiquitous, we depend increasingly on the correctness and security of the software that controls such systems. This course studies the formal specification, verification, and synthesis of software.
Outcomes: An understanding of the role of formal methods in the construction of software systems; proficiency in representative methods and tools, such as static analysis, model checking, and runtime verification.