CS 525: Formal Methods for System Verification
Announcements:
Welcome to CS 525 Course page
The Class will strat from 29th July 2024 (Monday) in 5G1.
Attendance is Mandetory in the Course.
IMPORTANT: Any malpractice will lead to F grade without any explanation.
Instructor
Class Timing and Venue:
Slot A1 in timetable for Electives
Monday: 5PM-6PM, Tuesday: 4PM-5PM, Wednesday: 3PM-4PM
Venue: 5G1, Core 5
Teaching Assistants
Syllabus
Introduction to formal methods and hardware verification.
Review of logics: Propositional Calculus and Predicate Calculus. Axioms and rules of Floyd-Hoare Logic. Application of Floyd-Hoare logic to verify hardware circuits.
Describing hardware directly in higher order logic. Combinational and sequential behaviour of circuits.
Specification of hardware systems. Introduction to Binary Decision Diagram (BDD) and modelling hardware with BDDs. Algorithms for BDD operations. Concept of OBDDs and ROBDDs and operation on ROBDDs.
SAT Solver
SMT Solver
Introduction to Temporal Logic. Linear and Branching time temporal logic. Expressing properties in CTL and CTL*. CTL model checking algorithm.
State space explosion problem: Symbolic data structure and symbolic model checking algorithms.
Concept of on-the-fly model checking and automata-theoretic model checking.
Text Books
[Manna] Aaron R. Bradley, Zohar Manna: The Calcular of Computation, Springer 2010.
[Kroening] Daniel Kroening and Ofer Strichman: Decision Procedures - An Algorithmic Point of View, Springer, 2008
[Huth] M. Huth and M. Ryan, Logic in Computer Science: Modelling and Reasoning about Systems, 2nd Ed, Cambridge University Press, 2004.
[PDG] Pallab Dasgupta, A Roadmap for Formal Property Verification, Springer, 2006.
[Katoen] Principles of Model Checking, Christel Baier and Joost-Pieter Katoen, MIT Press, May 2008.
Various Research Papers.
Grade Calculation
Classes
Lecture No | Date | Topic | Resources |
1. | 29th July 2024 | Course Introduction | Class notes |
2. | 30th July 2024 | Formal Verification with Example: Intro to Model Checking and Theorem Proving | Class notes |
3. | 31st July 2024 | Spectrum of Logic with Examples | Class Notes |
4. | 5th August 2024 | Proposition Logic: Syntax, Semantic, Axioms | Class Notes. Manna - Ch 1 |
5. | 6th August 2024 | Deciadibility of Propositional Logic, Introduction to First Order Logic | Class Notes, Manna - Ch 2 |
6. | 7th August 2024 | First Order Logic: Syntax, Semantic and examples | Class Notes, Manna - Ch 2 |
7. | 12th August 2024 | First order logic - Axioms, Decidability of First order logic | Class Notes, Manna - Ch 2 |
8. | 13th August 2024 | Higher Order Logic | Class Notes, Manna - Ch 2 |
9. | 14th August 2024 | Normal Forms: NNF, CNF, DNF, Conversion to normal Forms | Class Notes, Kroening - Ch 2 |
10. | 19th August 2024 | Tsetin Transformations | Class Notes, Kroening - Ch 2 |
11. | 20st August 2024 | SAT Solving: Introduction Conflict Clause, Backtrack, Analyze clause | Class Notes, Kroening - Ch 2 |
12. | 21st August 2024 | SAT Solving: Introduction SAT Solvers | Class Notes, Kroening - Ch 2 |
13. | 22nd August 2024 | Quiz 1 | |
14. | 26th August 2024 | SAT Solving: Implication Graph, Backtrack, CDCL | Class Notes, Kroening - Ch 2 |
15. | 27th August 2024 | SAT Solving: DPLL Algorithm | Class Notes, Kroening - Ch 2 |
16. | 28th August 2024 | SAT Solving: Analyize Conflict, UIP, Conflict Clause heuristics | Class Notes, Kroening - Ch 2 |
17. | 2nd September 2024 | SAT Solving: Decision Heuristics, DIMACS format | Class Notes, Kroening - Ch 2 |
18. | 3rd September 2024 | SAT Solving: Preprocessing of SAT formula | Class Notes |
19. | 4th September 2024 | BDD, ROBDD | Class Notes, Kroening - Ch 2 |
20. | 12th September 2024 | Direct ROBDD construction | Class Notes, Kroening - Ch 2 |
21. | 13th September 2024 | Variable Ordering in BDD, Discussion on Mid-Sem | Class Notes |
| | Mid-Semester Examination | |
22. | 24th September 2024 | Formal Property verification (FPV), Introduction to Model Checking | Class Notes, PDG: Ch 1 |
23. | 25th September 2024 | FPV with Examples | Class Notes, PDG: Ch 1 |
24. | 30th September 2024 | Correctness, Consistency and Completeness of FPV | Class Notes, PDG: Ch 1 |
25. | 1st October 2024 | LTL - Syntax and Semantic | Class Notes, PDG: Ch 2, Huth: Ch 3 |
26. | 7th October 2024 | LTL Encoding examples | Class Notes, PFG: Ch 2, Huth: Ch 3 |
27. | 8th October 2024 | CTL: Syntax and Semantic | Class Notes, PDG: Ch 2, Huth: Ch 3 |
28. | 9th October 2024 | CTL Encoding examples | Class Notes, PDG: Ch 2, Huth: Ch 3 |
29. | 21st October 2024 | CTL Model Checking Algorithm | Class Notes, Huth: Ch 3 |
30. | 22nd October 2024 | CTL Model Checking Algorithm | Class Notes, Huth: Ch 3 |
31. | 23rd October 2024 | Correctness of CTL Model Checking Algorithm | Class Notes, Huth: Ch 3 |
32. | 24th October 2024 | Project Evaluation Phase 1 | |
33. | 29th October 2024 | LTL Model Checking, Buchi Automata, NBA, GNBA | Class Notes, Huth: Ch 3, PDG: Ch 3 |
34. | 30th October 2024 | LTL to GNBA Construction | Class Notes, Huth: Ch 3, PDG: Ch 3 |
35. | 4th November 2024 | LTL Model Checkign Algorithm | Class Notes, Huth: Ch 3, PDG: Ch 3 |
36. | 5th November 2024 | Symbolic Model Checking with BDD | Class Notes, Huth: Ch 3, PDG: Ch 3 |
37. | 6th November 2024 | Symbolic Model Checking with BDD | Class Notes, Huth: Ch 3, PDG: Ch 3 |
38. | 7th November 2024 | Quiz 2 | |
39. | 11th November 2024 | SAT based Symbolic Model Checking | Class Notes, PDG: Ch 3 |
40. | 13th November 2024 | SAT based Symbolic Model Checking | Class Notes, PDG: Ch 3 |
41. | 4th Nov 2024 | 6:30PM to 8:30PM | Groups: A1, A4, A5, A6 |
42. | 5th Nov 2024 | 5:30PM to 7:30PM | Groups; A7, A8, A10, C2 |
43. | 7th Nov 2024 | 4PM to 6:30PM | Groups: B1, B2, B3, B9 |
44. | 8th Nov 2024 | 4PM to 7PM | Groups: B8, B10, C3, C4, B5, B4, B6 |
45. | 9th Nov 2024 | 10AM to 1PM | Groups: C6, C7, C8, C9, C10, A2, A9, B7 |
46. | 11th Nov 2024 | 6:15PM to 8:30PM | Groups; C1, C5, A3, A11 |
|
Project Presentation Schedule
Date | Time | Groups |
4th Nov 2024 | 6:30PM to 8:30PM | A1, A4, A5, A6 |
5th Nov 2024 | 5:30PM to 7:30PM | A7, A8, A10, C2 |
7th Nov 2024 | 4PM to 6:30PM | B1, B2, B3, B9 |
8th Nov 2024 | 4PM to 7PM | B8, B10, C3, C4, B5, B4, B6 |
9th Nov 2024 | 10AM to 1PM | C6, C7, C8, C9, C10, A2, A9, B7 |
11th Nov 2024 | 6:15PM to 8:30PM | C1, C5, A3, A11 |
|
Evaluation Schedule
|