CS 134 Homework Assignment #2: Code Reviews

The following instructions describe how to perform code reviews for homework assignment #2. They will also apply (with minor changes) to future assignments.

Code Review Procedure

  1. Go into your hw2 directory and run svn update. If I've done things right, that should pull a number of files into your handin directory and your root directory. If you've already blown your hw2 tree away, no worries; just do this:

    svn co https://svn.cs.hmc.edu/cs134/fall12/ours/group-name/hw2

    and you'll get a fresh checkout (which, not incidentally, is how you should do sanity checks after every submission).

  2. All submissions have been renamed with code names to protect the guilty. The code names are words randomly selected from the dictionary.
  3. In your root directory, you'll find a bunch of code-named kernels, things like biker-kernel-SYNCH. You can run them with sys161 to apply tests. For this assignment, there's not a lot of point to testing, because I've already done the important tests for you (though you can check to see whether they got cats/dogs right).
  4. Your root also contains two *.out files for each kernel, one for the sy2 (locks) test and one for sy3 (CVs). LOOK THROUGH THESE FILES and make sure the tests passed.
  5. In your handin directory, you'll find a bunch of new files. For each group, I have provided the following files:
    1. code-synch.patch is the patch that implements locks and CVs, unchanged from what was submitted. This is the primary file you will review.
    2. code-synch.txt is the documentation that was submitted. You will also review the documentation.
    3. code-review.txt is a prototype for your code review. There are five categories; for each category you should give a rating (by deleting all lines except one) and commentary. Please be thorough in your commentary; even the best patches can be improved.
  6. Finally, in your handin directory you'll find a file named ranking.txt. This lists the code names of the groups you reviewed, in a random order. You should reorder this list to reflect your ordered preference for for which patch you would like to have applied to the "master" kernel from this point forward. Your favorite patch should be listed first, after the colon. (Due to an error in my scripts, there's also an extra group; you can delete that one. Next time you'll be reviewing five groups instead of four.)

Submission

Your code review should be performed in the handin directory by modifying the *-review.txt and ranking.txt files I provided. When you are done, check the results into Subversion with svn commit.