CS99Q: Open Source Project

People:

Dawson Engler (engler@cs)
Ben Chelf (bchelf@cs)
Andy Chou (acc@cs)

Downloads:

Assignment 3
Writing Compiler Extensions with Metal
Assignment 2
How to build and run xgcc
How to process errors
Null checker
get-error.pl
Linux Makefile
Linux .config file

Patches:

See patches page.

Resources:

  • "Understanding the Linux Kernel," by Bovet and Cesati. This isn't a book you'll necessarily read cover to cover, but can be a good resource when searching for explanations of useful kernel features of for good rules to check.
  • "The C Programming Language," by Brain W. Kernighan and Dennis M. Ritchie. Most systems are written in C; it's useful to have a grasp of it,
  • linux.kernel: You should be able to read this on Stanford machines. It has a daily flood of bug reports, flames, and design discussions and should give you a feel for what bugs people get excited about, who the good people are (and who should be ignored) and good problems to think about. Other kernels have similar mailing lists, but they tend to not be as high traffic.
  • Source code. Unfortunately, most systems rules and guidelines are not written up anywhere. So actually looking through the source can give you ideas the other places can't.