CS 134 Homework Assignment #3: Code Reviews

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

The reviews are due at 7 PM on Monday, December 3rd. NO EXTENSIONS!

Code Review Procedure

  1. Go into your hw3 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 hw3 tree away, no worries; just do this:

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

    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 diner-kernel-SYSCALLS. You can run them with sys161 to apply tests. The following programs in testbin ought to pass tests on any submitted kernel (you may have to read the test source to learn how to use them): In addition, if the submitted kernel supports passing arguments to programs, these should also work:

    Note that some of these tests are more useful than others (e.g., tictac doesn't tell you much, and faulter is a subset of crash). We don't recommend that you try every test program on every kernel you review; instead, you should select a few that seem especially appropriate.

  4. In your handin directory, you'll find a bunch of new files. For each group, we have provided the following files:
    1. code-syscalls.patch is the patch that implements the required system calls, unchanged from what was submitted. This is the primary file you will review.
    2. code-syscalls.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.
  5. 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 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.

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.