CIS 670, Fall 2015: Verified Systems Software

General information

This Fall's instance of CIS 670 is a hands-on research seminar on Verified Systems Software. Class sessions will consist mostly of presentations of recent papers in the area, but the main goal of the class is to give students experience in building provably correct software, using Coq or another proof assitant of their choice (e.g., F*, Dafny, or Isabelle). During the first couple of weeks, students will choose a topic for a semester-long project, which will be their main focus for the class; examples might include building a simple certified file system, distributed key-value store, in-kernel interpreter, OS kernel, database core, etc.

Prerequisites: Students should be familiar with most of the material from CIS500 (Software Foundations); in particular, you should be reasonably fluent in the use of some proof assistant such as Coq. If there is sufficient interest, we may offer an intensive "Coq boot camp" at the beginning of the semester to get people who have not used Coq up to speed.

Instructor: Benjamin Pierce


We will meet Tuesdays and Thursdays from noon to 1:30 in Towne 307.



Possible readings

Ideas for projects

See here.