System Behavior Models and Verification (NSWI101)

Administrative Information

News

Slides

Annotation

Syllabus

Lab

Grading

References

Administrative Information

Model Checking
Time and Location: Summer Semester 2011/2012
Lectures: Wed 10:40 S4
Lab: Thu 9:00 S7
Guaranteed by: Department of Distributed and Dependable Systems
Summer Term: 2/2 Zk+Z
Lecturers: František Plášil
e-mail: frantisek.plasil<at-sign>d3s.mff.cuni.cz
Jan Kofroň
e-mail: jan.kofron<at-sign>d3s.mff.cuni.cz
Lab: Jan Kofroň
e-mail: jan.kofron<at-sign>d3s.mff.cuni.cz
Information in SIS: NSWI101

News

  • There will be the final exam on May, 23, instead of a lecture.
  • There is NO LECTURE on May, 16.
  • There is no lab on March, 29.
  • There is no lecture on February, 29.

Slides

Lectures

DateTopicSlides
22.02.2012 Introduction, Organization lecture1_2012.pdf
07.03.2012 LTS and Equivalences lecture2_2012.pdf
14.03.2012 Partial Order Reduction lecture3_2012.pdf
21.03.2012 Kripke Structures, CTL lecture4_2012.pdf
04.04.2012 CTL model checking lecture5_2012.pdf
11.04.2012 LTL, CTL* lecture6_2012.pdf | lecture61_2012.pdf
18.04.2012 LTL Explicit Model Checking lecture7_2012.pdf
25.04.2012 Ordered Binary Decision Diagrams lecture8_2012.pdf
02.05.2012 Fixpoints, Symbolic CTL Model Checking lecture9_2012.pdf
09.05.2012 Timed Automata lecture10_2012.pdf

Lab

DateTopicSlides
23.02.2012 Spin introduction Lab1.pdf
01.03.2012 Spin exercises Lab2.pdf
08.03.2012 More Spin Lab3.pdf
22.03.2012 CTL exercises, First homework assignment Lab4.pdf | HW1.pdf
12.04.2012 CTL model checking Lab5.pdf
26.04.2012 SMV, LTL Model checking, First homework assignment Lab6.pdf | Lab7.pdf
10.05.2012 OBDD and ACP exercises Lab10.pdf

Annotation

Basic concepts of behavior description of parallel and distributed systems. Equivalence checking and model checking — techniques and tools.

Syllabus

  • Practical examples of behavior modeling and verification
    • The SPIN model checker (developed at Bell Labs) which is being successfully used from 1989 for analysis of communication and cryptographic protocols, distributed algorithms and parts of OS kernels (e.g. process schedulers)
    • The Symbolic Model Verifier (SMV) – Symbolic model checker based on Ordered Binary Decision Diagrams developed at Carnegie Mellon University.
    • UPPAAL model checker
  • Mathematical structures for behavior modeling: labeled transition systems, Kripke structures
  • Timed automata
  • Higher-level behavior specification languages (process-algebra, behavior protocols) and the corresponding software tools
  • Specification of system properties using temporal logic
  • Basic verification tasks: equivalence checking and model checking
    • Decidability and complexity (of equivalence checking and model checking) in dependence of the type of the model
    • Software tools for equivalence checking and model checking
  • Open issues in formal verification: infinite-state systems, state explosion problem

Lab

The purpose of the lab is to provide students with a hand-on experience with verification tools (SPIN, SMV, UPPAAL), higher-level behavior specification languages (process algebra, behavior protocols), and temporal logics (LTL, CTL).

There will be two assignments (one taking approximately 8 hours of homework, the other an hour).

Note: 10 % of your score will be deduced for every calendar day your assignment is late. This implies that no assignment will be accepted after 10 calendar days past its due date.

Grading

Final grades will be determined by the quality of homework and the result of the final exam in the following ratio:

  • 55 % Assignments (homework)
  • 45 % Final exam

References

  • P. Regan, S. Hamilton: NASA's Mission Reliable, IEEE Computer, vol. 37, no. 1, Jan 2004
  • G. J. Holzmann: The Spin Model Checker, Addison Wesley, 2003
  • E. M. Clarke, Jr., O. Grumberg, D. A. Peled: Model Checking, MIT Press, 2002
  • J. A. Bergstra, A. Ponse, S. A. Smolka: Handbook of Process Algebra, Elsevier 2001
  • R. Milner: Communication and Concurrency, Prentice Hall 1989
  • C. Stirling: Modal and Temporal Properties of Processes, Springer 2001
  • F. Plasil, S. Visnovsky: Behavior Protocols for Software Components, IEEE Transactions on Software Engineering, vol. 28, no. 11, Nov 2002 (link)
  • J. Adamek, F. Plasil: Component Composition Errors and Update Atomicity: Static Analysis, Journal of Software Maintenance and Evolution: Research and Practice, 2005 (link)
  • D. Engler: Static analysis versus software model checking for bug finding (paper, slides, other information can be found here)
  • J. Esparza: Software reliability (slides, other information can be found here [text of the web pages in German, referenced documents in English])
  • B. Nielsen: LTS Based Testing and IOCO (slides, other information can be found here)
  • T. Latvala: Reactive Systems (slides)
Modified on 2012-05-10