This course is about finding and preventing logical errors in concurrent systems, e.g., programs, hardware devices,controllers. Though formal analysis requires understanding of many theoretical issues, the focus of this course will be on using practical verification tools to analyze interesting examples. We will cover just enough theory to use the tools effectively and understand the examples. The assignments will involve using some type of verification tool to find bugs in interesting designs. We do not assume any prior knowledge of computer hardware, however, students who know hardware will find these techniques to be very useful.
Dec 11, 2007: Information on HW8 has been updated. Please see this.
Nov 26, 2007: Michael's last two office hours (Nov 27 and Dec 4) will happen after class.
Oct 30, 2007: Note the change in Michael's office hours.
Tuesdays and Thursdays from 3:00-4:20pm in Wean Hall Rm 5312.