Foundations of Automatic Verification
Tuesdays and Fridays, 2 - 3:30 PM
Venue: LH-622 Bharti Building (Block IIA) 201
What is this course about?
This course focuses on the principles and techniques used to automatically verify the correctness of systems. It covers the use of logic to describe system behavior, tools for checking these descriptions, and methods for ensuring reliability. The course combines theory with practical tools like NuSMV and CBMC, showing how abstract concepts can solve real-world problems. Topics include analyzing system properties, converting logical specifications to automata, and verifying software and hardware systems. The goal is to provide a clear understanding of how verification works and its role in building trustworthy systems.
Suggested Books and Reference Material
- [HR] Logic in Computer Science (Michael Huth and Mark Ryan)
- [E] A Mathaematical Introduction to Logic (Herbert B. Enderton)
- [CGKPV] Model Checking (Edmund Clark, Orna Grumberg, Daniel Kroening, Doron Peled, and Helmut Veith)
- [BHMW] Handbook of Satisfiability (Edited by Armin Biere, Marijn Heule, Hans van Maaren and Toby Walsh)
- [MB] Satisfiability Modulo Theories: Introduction and Applications (Leonardo De Moura anD Nikolaj Bjorner)
Office Hours
Wednesdays: 10-11.30 am at Bharti 415. If you couldn't follow the previous class or want to discuss the topics covered so far in more detail, I encourage you to make the best use of office hours.
Weekly Feedback
Feedback Form: Here Your feedback is essential for improving the quality of our lectures. Please share your honest opinions—what went well, what didn’t, and which topics were challenging to understand. This form is anonymous and will take less than 5 minutes to complete. We’d greatly appreciate your thoughts on each class
Lectures (Tentative list)
Lecture Date | Lecture Topics | Class Slides Link | Reference Materials |
---|---|---|---|
3rd Jan | Intro to Course (Non Technical) | Class Slides | -- |
7th Jan | Intro to Propositional Logic | Class Slides | Chapters 1,2 of [HR] |
10th Jan | Constraint Encoding + Intro to SAT Solvers (Part 1) | Class Slides | Chapter 2 of [BHMW] |
16th Jan | SAT Solvers (Part 2) | Class Slides | Chapters 3, 4 of [BHMW] |
17th Jan | SAT Solvers (Part 3) | Class Slides | Chapters 3, 4 of [BHMW] |
21st Jan | First Order Logic | Chapter 2 of [E] | |
24th Jan | + Intro to SMT and From SAT to SMT | Chapter 11 of [CGKPV], and [NB] | |
28th Jan | Quiz 1 + Tool Demos (SAT and SMT solvers) | ||
31st Jan | Intro to Linear Temporal Logic (Part 1) | Chapter/Section 3.2 of [HR] | |
4th Feb | Linear Temporal Logic (Part 2) | Chapter/Section 3.2 of [HR] | |
7th Feb | Intro to Computation Tree Logic (Part 1) | Chapters/Sections 3.4 and 3.5 of [HR] | |
11th Feb | Computation Tree Logic (Part 2) | Chapters/Sections 3.4 and 3.5 of [HR] | |
14th Feb | Model Checking (Part 1) | Chapters/Sections 3.3 and 3.6 of [HR] | |
18th Feb | Tool Demos | ||
21st Feb | No class -- Minor exams (as per semester schedule) | ||
28th Feb | Discussion on Minor Exam | ||
4th March | Model Checking (Part 2) | Chapters/Sections 3.4 and 3.5 of [HR] | |
7th March | No Classes (as per semester schedule) | ||
10th March | Mid term break (as per semester schedule) | ||
14th March | Mid term break (as per semester schedule) | ||
18th March | BDD and BDD based Model Checking | Chapter 6 of [HR] | |
21st March | SAT based Model Checking | Chapter 10 of [CGKPV] | |
25th March | IC3 Algorithm (part 1) | Aaron Bradley's Homepage | |
28th March | IC3 (part 2) + Intro to Hoare Logic | Chpater 4 of [HR] | |
1st April | Hoare Logic | Chpater 4 of [HR] | |
4th April | Quiz 2 + Tool Demos | ||
8th April | Introduction to Model Counters (Part 1) | Chapter 20 of [BHMW] | |
11th April | Model Counters + Samplers | Chapter 20 of [BHMW] | |
15th April | UNSAT Core | MUS/MSS enumerations | |
18th April | Concluding all topics + Tool Demos | ||
22th April | Recent Paper on Formal Verification | ||
25th April | Recent Paper on Formal Verification |
Evaluation Policy
- Quizzes: 20% -- 2 quizes each 10%.
- Assignment: 15%
- Minor: 25%
- Major: 35%
- Class participation: 5% (attendance >= 75% is needed to get 5% marks, else it will be awarded zero.)
- Audit policy: To qualify for an NP grade, you need at least 60% score overall and at least 75% attendance.
- Re-exams: There will be no re-minor exams. If you miss the minor exam due to medical reasons, your marks will be appropriately scaled and transferred from the major/re-major exam. Only students who obtain prior approval from the instructor before the scheduled date of the minor exam and have a minimum of 75% attendance are eligible for this provision. A re-major exam will be conducted only if you miss the regular major exam due to a valid medical reason. Proper medical certification and prior approval are mandatory.
- A missed quiz will be awarded zero marks. No requests for a re-quiz will be considered. If you miss the quiz due to medical reason, your marks will be appropriately scaled and transferred from the major exam. Only students who obtain prior approval from the instructor before the scheduled date of quiz and have a minimum of 75% attendance overall are eligible for this provision. Proper medical certification are mandatory.
- Late assignment submissions after the deadline are allowed for the next 5 days. However, for each delayed day, a reduction of 5% will be applied. For example, assignment submitted on the deadline will be evaluated for 30%. Assignment submitted one day after the deadline will be evaluated for 25%, and so on. Assignment submitted on the fifth day after the deadline will be evaluated for 5%. Assignment submitted on the sixth day after the deadline will receive no evaluation.
- There will be zero tolerance for dishonest means (including attendance proxy/fraud, copying or sharing solutions/code in quizzes/exams/projects, use of mobile phones or other prohibited gadgets during exam and quizzes, etc.). Offenders will secure an F grade for themselves straight away, and it will be reported to DisCo.