Skip to main content Link Search Menu Expand Document (external link)

Welcome to CS 684!

Welcome to CS 684! This class is focused on software quality: both how to assess it and how to achieve it in your own work. The course therefore has two technical focuses: testing and static analysis, both of which are important for assuring quality in the real world. We’ll spend roughly 60% of the course (through spring break) on testing, and the rest of the course on static analysis. My goal in this course is to get you up-to-date with the best practices at the very best software engineering firms in the world in these two topics: that is, the goal of this course is to give you a firm foundation in the “state-of-the-practice” in industry. Note that reaching this level requires us to engage with the research literature, as the top engineers at the best software firms do—–especially the most important papers from the past 10-20 years.

On this course website, you can find:

  • the syllabus,
  • a course calendar (which includes links to the required readings),
  • links to all assignments,
  • useful tutorials,
  • a staff page, and
  • information about how I write exams (including old exams that I have written for undergraduate versions of this course, with solutions).

© 2022-2024 Martin Kellogg, Westley Weimer, René Just, Jonathan Bell, Adeel Bhutta and Mitch Wand. Released under the CC BY-SA license