CS 525V (S02) : Introduction to Computer-Aided Verification


Homework Exercises

Exercises will be posted here as they become available. I expect to give roughly 4-5 exercises (in addition to the project) over the course of the semester.

General Assignment Documentation

Assignment Handouts

Final Project

Your final project will take one of the following three forms (your choice):

  1. Modeling and verification of a substantial design using one of the tools that we discuss in class.

  2. Modeling and verification of a reasonable design using a tool that we do not discuss in class. Your project should contrast your experience with the new tool with what you would have expected from verifying the same design in the tools that we used in class.

  3. A survey paper (roughly 10-15 pages) describing and contrasting the state-of-the-art approaches to verification in a particular problem domain.

In general, these will be individual projects. However, I will consider team projects provided you propose a project of sufficient scale to warrant multiple team members.

In each case, you will turn in a report describing your project and give a brief presentation on your project to the class at the end of the semester (presentation duration to be determined once I know how many students are enrolled).

You must submit a short project proposal and have me approve it. Proposals will be due sometime mid-semester. Start thinking about the kind of project you would like to do. Possible domains include aspect-oriented verification, security protocols, e-commerce protocols, graphical-user interfaces, wireless network protocols, particular computer architectures, embedded software systems, etc. I'm glad to help you develop project ideas if you ask.

Proposal Details

By class on Tuesday, March 12, you must turn in a one-page project proposal.

Final Report Details

Final reports are due in hard copy to my office or mailbox by 5pm on April 26th (the last day of grad classes).

If you are doing a verification project (either in SMV/Alloy or in some other tool), your report should contain (not necessarily in this order):

If you are doing a survey paper, your report should contain

In both kinds of projects:

Presentation Details

Project presentations will occur over the last two meetings of the course. Prepare a 15 minute presentation. We'll also have a few minutes for questions. Presentations should use transparencies or Powerpoint (or something similar).

NOTE: If you use Powerpoint, we can run the talk off of my laptop. However, my laptop doesn't have a floppy drive, so you need to send me your presentation via email or a URL by 4pm on your presentation day.

When grading your presentations, I'll be looking for clarity, technical accuracy, and coherence. For example:

You do not need to explain every aspect of your project in the 15 minutes. A good presentation on part of the project will be better than a rushed, shallow presentation on the whole project. If you present only part of your project, make sure you present some of your own work (ie, if you are using a new tool, don't just give a tool demo -- also talk about the problem you are modeling and your experience with the tool on your problem).

This page maintained by Kathi Fisler
Department of Computer Science Worcester Polytechnic Institute