System Behavior Models and Verification (NSWI101)

Administrative Information

News

Slides

Annotation

Syllabus

Lab

Grading

References

Administrative Information

Model Checking
Time and Location: Winter Semester 2015/2016
Lectures: Tue 9:00 S1
Lab: Wed 12:20 S1
Guaranteed by: Department of Distributed and Dependable Systems
Winter 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 for HW: nswi101<at-sign>d3s.mff.cuni.cz
Information in SIS: NSWI101

News

  • There is no lab on January 13, 2016!
  • There is no lab on January 6, 2016!
  • The second homework assignment is available in slides of Lab7. The deadline is January 17, 2016.
  • The first homework assignment is available here. The deadline is November 30, 2015.

Slides

Lectures

DateTopicSlides
06.10.2015 LTS, modeling basics, process algebras, Equivalences lecture1.pdf
13.10.2015 LTL Model Checking lecture2.pdf
20.10.2015 Spin lecture3.pdf
27.10.2015 Explicit LTL Model Checking Algorithm lecture4.pdf
03.11.2015 Ordered Binary Decision Diagrams lecture6.pdf
10.11.2015 CTL Explicit Model Checking lecture5.pdf
24.11.2015 CTL Symbolic Model Checking lecture7.pdf
01.12.2015 Partial Order Reduction lecture8.pdf
08.12.2015 Abstractions, symmetries lecture9.pdf
15.12.2015 Infinite State Model Checking, Bounded Model Checking lecture10.pdf
22.12.2015 Timed Automata lecture11.pdf
05.01.2016 Stochastic Model Checking lecture12.pdf
12.01.2016 Compositional Reasoning lecture13.pdf

Lab

DateTopicSlides
07.10.2015 LTS and CCS Lab1.pdf
14.10.2015 Alternating Bit Protocol in Promela Lab3.zip
21.10.2015 Distributed Consensus in Promela Lab4.pdf | Lab4.zip
12.11.2015 LTL and CTL Explicit Model Checking Lab5.pdf
09.12.2015 NuXMV System, Second HW Assignement Lab7.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 NuXMV (SMV) – Symbolic model checker based on Ordered Binary Decision Diagrams
    • UPPAAL model checker
  • Mathematical structures for behavior modeling: labeled transition systems, Kripke structures
  • Timed automata
  • 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
  • Bounded model checking, probabilistic 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). The homeworks are to be submitted via e-mail: nswi101@d3s.mff.cuni.cz

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 2016-03-01