Link Search Menu Expand Document

Topics

You will find a list of topics and an order in which we will explore them below. Lectures will follow this order.

  • Introduction to the course
  • Program proofs: The Inductive Assertion Method and Hoare Logic
  • Program Analysis
  • Decision Procedures: Satisfiability
  • Symbolic Testing: Reachability
  • Introduction to Temporal Logics (LTL and CTL)
  • Model Checking

Assigned Reading

Here is a week by week guide of how you should organize your reading (of the text material) with the course. This reading is essential to stay on top of the course material, in addition to the videos for the lectures and the slides. If you do not do this reading, you risk your grade.

  • Week (0): review Chapters 1-4 of this book for basic logic and induction. You have learned the material in CSC 168 and CSC236. This is just to remind yourself of the basic material that is essential for this course. If you do not know this material, you will struggle in this course.
  • Weeks (1,2): Read chapter 5 of this book to prepare for weeks 1 andn 2.
    • The emphasis should be on sub-chapters: 5.2 and 5.3.
    • The main learning objective: understand the difference between an invariant and an inductive invariant.
  • Week (3): Dataflow Anlysis: there are several books that cover this, but I do not know of one that is freely available. These notes by a leading researcher in static analysis is arguably as good as a book chapter. Our focus is on Chapters 4 and 5.
  • Week (4): read Chapters 2.1 and 2.2 of this in preparation of week 5.
  • Weeks (5): read chapter 3 and a light skim through chapter 5 of this in preparation for week 6.
  • Week (6): no assigned reading.
  • Week (7): read chapter 5.1 of this to prepare for the LTL lecture on Week 8
  • Week (9): read chapter 6.2 of this to prepare for the CTL lecture
  • Week (10): read chapter 6.4 of this to prepare for the CTL model checking lecture

Lectures Material

Below you will find our (tentative) lecture schedule for the term. Lecture slides and other material related to lectures are posted here after each lecture takes place. Note that due to inverted nature of the class, the week structure is a bit more fluid compared to the traditional class, because the time spent is guided by student questions and comments in class. We will do our best to keep the two sections in synch, and stay close to the schedule below: