CS242: Computer-Aided Verification. Spring 2018

LecturesMonday and Wednesday, 15:00--16:40, Room 1B 110 SIST Building
Instructors宋富 <songfu>
Schedule
Week Date Topic Reading Notes
1 02-26 Introduction 2007 Turing Award video, 2013 Turing Award videoA Logical Revolution Slides
02-28 SAT I DP 2
203-05 SAT II
03-07 SAT III&BDD An Introduction to BDDs
303-12
03-14
403-19
03-21
503-26
03-28
604-02
04-04
704-09
04-11
804-16
04-18
904-23
04-25
10 04-30
05-02
1105-07
05-09
1205-14
05-16

Note: schedule is subject to change.

Description

How can a programmer verify that the software/hardware/protocol (s)he has designed works correctly as intended? Computer-aided verification is a sub-discipline of computer science aimed at developing tools and techniques to assist programmers meet this goal. This course is an introduction to the theory and applications of formal methods, a field of computer science and engineering concerned with the rigorous mathematical specification, design, and verification of systems. At its core, formal methods is about proof: formulating specifications that form proof obligations, designing systems to meet those obligations, and verifying, via algorithmic proof search, that the systems indeed meet their specifications..

References

DP
Decision Procedures: An Algorithmic Point of View (2nd Edition), Daniel KroeningOfer Strichman, Springer, 2016
PMC
Principles of Model Checking, Christel Baier and Joost-Pieter Katoen, MIT Press, April 2008

Requirements

Reading
Read the papers and chapters before every class.
Participation
participate actively during class .

Grading

Project 80% + Participation 20%

Project

The course project is the most important component of this class. It is expected that students team up in groups of 2 or 3 for their project. It can be a theoretical and/or experimental investigation related to topics covered in class. There should be some new research in it: either a new application (case-studies) of existing formal methods/tools, or a new formal technique, or both. Simply surveys of existing papers without any input of new ideas will not be acceptable. The main deliverables will be: (1) 1-2 page proposal, with precise problem definition, literature survey, and timeline; (2) 5-10 page final report: This should read like a conference paper, must use latex article class in default setting; (3) Project presentation and possibly demo.

Policies

Academic integrity

We enforce academic integrity strictly. If you participate in any form of cheating, you will fail this course immediately. Examples of cheating on homework include (but are not limited to):

Feedback

We always welcome any feedback on what we could do better. You are also welcome to send us feedback anonymously if you like.