CS 260r, Spring 2015: Topics and Close Readings in Computer Systems

Beautiful bug
Beautiful bug

Spring 2015—MW 1–2:30—Maxwell Dworkin 221—Eddie Kohler

Piazza signupPresenting papersUpcoming papers

CS 260r is a research seminar in computer systems. That means it’s a relatively informal course in which we learn about current research in the computer systems area, and hopefully create some research of our own. The work of the course consists of reading and presenting research papers; some homeworks; and a final project, which can be done in groups.

Each time the course is offered we have a new topic. This year the topic is building reliable systems code; we’ll try to better understand modern techniques for making systems software more robust. These techniques include, but are not limited to:

We will read papers by many authors, but I hope we investigate several research groups’ work in depth, possibly including those of Dawson Engler, John Regehr, Andrea and Remzi Arpaci-Dusseau, Yuanyuan Zhou, Shan Lu, Luis Ceze, Jason Flinn and Peter Chen, Michael Ernst, Martin Rinard, George Candea, and Nickolai Zeldovich.

The goal of the seminar is to understand the best current research on systems software robustness. Students should also learn how to read research papers actively—that is, how to work past initial unfamiliarity with a research area toward a good understanding of its main research approaches and topics, using different kinds of reading and thinking.

Schedule

The course schedule will be posted piecemeal as we go and is subject to discussion and change based on class interests.

W 1/28 Ignoring failure First, let’s read something fun:

M 2/2 Integer overflow Before you read these papers, take John Regehr’s Integer Quiz!

W 2/4 Symbolic execution

M 2/9, delayed to W 2/11 Undefined behavior, symbolic test generation

W 2/18 Reliability design patterns: Philosophy

M 2/23

W 2/25

F 2/27

W 3/4

M 3/9

W 3/11

W 3/25

M 4/6

W 4/8

M 4/13

W 4/22

Exercises

Project