CS655 System Modeling and Analysis, Fall 08

Announcement

  • Sep 1st:
    • The first class starts on Sep 2nd.
    • No classes on Sep 16th and 18th due to Automated Software Engineering '08.
  • Sep 2nd: CS655 BBS is open.
  • Sep 25th: We will have a supplementary class on Sep 30
  • Sep 30: No class on Sep 30.
  • Oct 28th: Midterm exam on Nov 13th 4:00 PM - 6:00 PM.
  • Oct 30th: HW#2 due Nov 11th
  • Nov 11th:
    • Reading paper list is uploaded (updated with assignment information).
    • No class on Dec 2nd and Dec 4th due to APSEC 2008
  • Nov 20th: HW#3 "Specification & Verification of the Ricart-Agrawala algorithm" - due Dec 11th
  • Nov 28th:
    • If you have a trouble to play your presentation video clip, install AVC codec and then try it again. Windows media player 11 and Kmplayer worked fine.

Administrative Information

Instructor: Moonzoo Kim

  • Office: 2434 (east wing)
  • Phone: 042-869-3543
  • E-mail: moonzoo@cs.kaist.ac.kr
  • Office hour: Tues & Thu 17:30-18:30 (reservation e-mail preferred)
  • Teaching assistants:
    • Changki Hong — Office: 2438 (east wing) — E-mail: kornin83@gmail.com — Phone: 042-869-3583
  • Lecture hours: Tue & Thu 16:00 - 17:30
  • Lecture room: 2443 (3rd lecture room)
  • Prerequisite: CS204 Discrete Mathematics
  • Grading: HW (3–4 times) 40%, Midterm exam 30%, Seminar presentation 30%
    • Late HW policy: 20% penalty in 1 day, 40% penalty in 3 days; HW not accepted after that.
  • Note: The official language in the class is English. Submit homeworks in English.

Syllabus

Background

As more and more computing systems are deployed as embedded systems in our daily life, the correctness of these systems are becoming crucial issue. Unfortunately, current status of research on design and analysis of such systems is not mature enough for realizing ubiquitous computing without risk. Formal modeling and analysis techniques can increase the reliability of computing systems with rigorous modeling and (semi)exhaustive analysis. This class focuses on practical application of formal modeling and analysis techniques for software systems.

Topics covered during

First, we will cover model-oriented approach as a starting point. We will handle Calculus of Communicating Systems (CCS), NuSMV, and Promela for this purpose. Process algebra CCS has its advantage in concise syntax and clear semantics and serves as a basic framework of formal verification. In contrast, Promela is a comparatively rich language similar to C. Thus, Promela is more suitable to modeling real systems. NuSMV is in between them. Finally, we will study currently available code-oriented approaches such as CBMC and BLAST. In these frameworks, a key is how to extract a formal from a complex code through sound abstraction.

For the purpose of the class, this class involves intensive modeling and analysis practice based on the open source tools.


Course Material

Reading list (selected):

Related tools / home pages:


Course Schedule