Declarative Program Analysis and Optimization

CS294-260, Spring 2024

Welcome

Course Info

Please take the pre-course survey ASAP!

Welcome! The purpose of this course is to get exposure to some of the various declarative techniques for program analysis and optimization. We will study term rewriting systems, datalog, and equality saturation. One major theme is that these techniques share many common through-lines, despite their apparent differences.

Grading

This class consists partly of lectures, and partly paper discussions. Attendance, reading of assigned papers, and participation are essential for this course to be useful and enjoyable, so the grading reflects that.

Paper Discussion

Each discussion will be led by a small group of students, the discussion leads. The leads will be responsible for:

If you are not the lead, you still must read the paper and the reading guide before the discussion begins. You may of course start reading the paper early, but you may not have access to the reading guide until 48 hours before the discussion.

Projects

See the Project Proposal page for more details.