CMPT 477 / 777 Formal Verification - Fall 2024

Instructor Yuepeng Wang
Time and Location Mon 8:30 - 10:20 am @ AQ3159
Wed 8:30 - 9:20 am @ AQ3159
Instructor Email yuepeng@sfu.ca
Instructor Office Hours Wed 9:30 - 10:30 am or by appointment
TA1 Yang He
TA1 Email yha244@sfu.ca
TA1 Office Hours Thu 3:00 - 4:00 pm @ Zoom
TA2 Qikang Liu
TA2 Email qla116@sfu.ca
TA2 Office Hours Tue 3:00 - 4:00 pm @ ASB9810

Course Description

The goal of formal verification is to prove correctness or to find mistakes in software and other systems. This course mainly introduces deductive verification, one of the most important and popular methods for formal verification. In this course, we will learn logic foundations, constraint solving techniques, and proof methodologies of deductive verification. We will also learn to work with a modern constraint solver Z3 and a deductive verifier Dafny.

Grading

Reference Book

Tentative Schedule

Week Date Topic Assignment
1 09/02 Labor Day (No Class)
09/04 Introduction
2 09/09 Propositional Logic
09/11 DPLL and SAT Solving H1
3 09/16 Applications of SAT
09/18 Constraint Solver: Z3 P1
4 09/23 First-Order Logic
09/25 Proof Rules of First-Order Logic
5 09/30 National Day for Truth and Reconciliation (No Class)
10/02 First-Order Theories H2
6 10/07 First-Order Theories & First-Order Resolution
10/09 First-Order Resolution H3
7 10/14 Thanksgiving (No Class)
10/15 Hoare Logic
10/16 Hoare Logic
8 10/21 Midterm Exam
10/23 SMT Solving using Z3 P2
9 10/28 Verification Conditions
10/30 VCs with Functions and Pointers H4
10 11/04 Verification Tool: Dafny
11/06 Verification Tool: Dafny P3
11 11/11 Remembrance Day
11/13 Theory of Equality
12 11/18 Theory of Equality and Theory of Rationals
11/20 Theory of Linear Arithmetics over Rationals
13 11/25 Theory of Linear Arithmetics over Integers H5
11/27 Combining Decision Procedures
14 12/02 Time for Final Project
12/04 No class

Academic Honesty Statement

Academic honesty plays a key role in our efforts to maintain a high standard of academic excellence and integrity. Students are advised that ALL acts of intellectual dishonesty will be handled in accordance with the SFU Academic Honesty and Student Conduct Policies (https://www.sfu.ca/policies/gazette/student.html).