Verification: Lecture Notes
- Lecture 27, Feb 07, 2012. Induction-based model checking II: We discussed model checking based on automatic abstraction refinement, as implemented in the SLAB model checker. To prepare for the end-of-term exam, we talked about the final problem set and looked at some true/false questions.
slides
Suggested background reading: Slicing Abstractions by Brückner/Dräger/Finkbeiner/Wehrheim.
- Lecture 26, Feb 02, 2012. Induction-based model checking I: In the last two lectures of the course, we looked at two automatic verification methods that represent the current state-of-the-art. Both combine model checking with deduction, in particular with induction. In Lecture 26, we started with the IC3 algorithm.
slides
Suggested background reading: IC3: Where Monolithic and Incremental Meet by Somenzi/Bradley (November 2011).
- Lecture 25, Jan 31, 2012. Invariant generation: We finished the discussion on invariant generation and then generalized the deductive methods to reactive systems.
slides
- Lecture 24, Jan 26, 2012. Combining decision procedures: We discussed the Nelson-Oppen Method for combining decision procedures and got started with invariant generation.
slides
- Lecture 23, Jan 24, 2012. Congruence closure: We studied quantifier-free fragments of first-order theories and efficient methods to solve their satisfiability problem.
slides
- Lecture 22, Jan 19, 2012. Quantifier elimination: We studied Cooper’s method for quantifier elimination over the integers.
slides
- Lecture 21, Jan 17, 2012. First-order theories: We studied first-order theories that commonly appear in verification conditions, including the theories of equality, natural numbers, integers, rationals and reals, abstract data types, and arrays.
slides
- Lecture 20, Jan 12, 2012. Mechanics of deductive verification II: Continuing the discussion from Lecture 19, we looked at termination proofs.
slides
- Lecture 19, Jan 10, 2012. Mechanics of deductive verification I: Switching our perspective, we looked at the basic mechanics of deductive verification.
slides
- Lecture 18, Dec 22, 2011. Verifying FlexRay: We developed
model checking algorithms for networks of timed automata
and discussed the application of timed model checking to the
analysis of the FlexRay physical layer protocol. Developed by the
FlexRay Consortium, a cooperation of leading companies including BMW,
Bosch, Daimler, Freescale, General Motors, NXP Semiconductors, and
Volkswagen, FlexRay was first employed in 2006 in the pneumatic
damping system of BMW’s X5, and fully utilized in 2008 in the BMW 7
Series. The FlexRay specification was completed in 2009 and is widely
expected to become the future standard for the automotive industry.
part 1 (model checking)
part 2 (FlexRay)
- Lecture 17, Dec 15, 2011. Timed automata & midterm review:
We studied timed automata as a model of real-time systems and then briefly reviewed the material covered so far — just in time for the midterm exam next week.
slides
- Lecture 16, Dec 13, 2011. Stutter bisimulation: We
investigated equivalence and preorder relations that mimick a transition by a sequence of transitions.
slides
- Lecture 15, Dec 7, 2011. Simulation and Bisimulation: We
studied the computation of simulation and bisimulation relations.
slides
- Lecture 14, Dec 6, 2011. Implementation relations: We computed estimates for the completeness threshold of bounded model checking and then moved on to implementation relations.
slides
- Lecture 13, Dec 1, 2011. Symbolic model checking: We developed symbolic model checking algorithms for CTL and LTL using BDDs and started to explore the bounded model checking approach based on SAT-solving.
slides
Please note: bounded model checking is not covered in the Baier/Katoen textbook.
Suggested background reading: Bounded Model Checking by Biere/Cimatti/Clarke/Strichman/Zhu,
A Survey of Recent Advances in SAT-Based Formal Verification by Prasad/Biere/Gupta.
- Lecture 12, Nov 29, 2011. Binary decision diagrams: We introduced binary decision diagrams (BDDs) as a symbolic representation for sets of states.
slides
notes (thanks to Robin Wagner for the blackboard snapshots)
- Lecture 11, Nov 24, 2011. CTL*: We discussed CTL model checking with fairness and then moved on to CTL*.
slides
- Lecture 10, Nov 22, 2011. LTL vs. CTL: We compared the expressiveness and the model checking algorithms of the temporal logics LTL and CTL.
slides
- Lecture 9, Nov 17, 2011. From LTL to CTL: We proved PSPACE-completeness of the LTL model checking problem and then moved on to Computation Tree Logic (CTL)
slides
- Lecture 8, Nov 15, 2011. LTL Model checking: We developed an algorithm for model checking LTL properties, based on a translation from LTL formulas to generalized Büchi automata.
slides
- Lecture 7, Nov 10, 2011. LTL: We studied linear-time temporal logic (LTL) and the connection between action-based and state-based fairness.
slides
- Lecture 6, Nov 8, 2011. Model checking ω-regular properties: We reduced the problem of checking whether a transition system satisfies a given ω-regular property to the special case of persistence properties. Persistence properties can be checked efficiently using nested depth-first search.
slides
- Lecture 5, Nov 3, 2011. Regular properties: We developed an automata-based machinery for the verification of linear-time properties.
slides
- Lecture 4, Oct 27, 2011. Safety vs. liveness: We investigated the safety vs. liveness classification of linear-time properties in more detail.
slides
- Lecture 3, Oct 25, 2011. Linear-time properties: We gave a formal semantics of (nano)Promela as a channel system and then moved on to linear-time properties. We defined linear-time safety and liveness.
slides
- Lecture 2, Oct 20, 2011. Transition systems: We introduced transition systems as the fundamental computational model for model checking. We discussed the representation of various system types of interest (sequential circuits, concurrent systems, channel systems) as transition systems.
slides
- Lecture 1, Oct 18, 2011. Introduction & course administration: We discussed the motivation for verification and the impact of automatic methods.
slides