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

  • Dr. Chandan Karfa

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

  • Praveen Karmakar - pkarmakar@iitg.ac.in

  • Nilotpola Sarma - s.nilotpola@iitg.ac.in

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

  • Quiz: 10%

  • MidSem: 30%

  • End Sem: 40%

  • Project: 20%. A group of 4/5 students to be assigned to a project.

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