Table of Contents

Assignment 3

Verify your implementation

Verify some properties of your implementation using Java PathFinder (JPF). Just running JPF on your code is not enough. Either you add something to your code that enables you to check a property (for example, add a few assertions). Or you consider minor variations on your implementation (showing, for example, that a particular lock is essential to guarantee deadlock freedom). Etcetera. Feel free to be creative.

Write a report

In your report, describe the properties you checked. Also explain how you checked them. Furthermore, report the results of your verification effort.

The report should be roughly between 3 and 8 pages. These bounds are not absolute (but one page is probably not enough and 20 pages is too much).

As the audience of your report, consider your fellow students in the course.