SWS128: Software Analysis, 2026 Fall

SWS128: Software Analysis, 2026 Fall

The primary goal of this course is to learn the theory and implementation of software analysis, both static and dynamic.

Course Information

Course Materials

  • Self-contained lecture notes are provided.

Grading

  • 3 Homework Assignments: 90%
    • 30% each, submitted on the LMS.
    • Each is assigned right after the lecture that covers it and is due two weeks later.
  • Attendance: 10%
    • All or nothing: you get the full 10% if you attend at least 2/3 of the checks, and 0% otherwise.
    • There is no attendance check in the first week; it starts on September 14.

There is no midterm exam, no final exam, and no term project.

Lectures without Offline Classes

On the two days listed below, there will be no offline lectures. Instead, lecture videos will be uploaded to the LMS.

  • October 5 (Mon.)
  • October 12 (Mon.)

Schedule

# Date TitlePDFHomework
0 09/07 Introduction
1 09/14 Syntax and Semantics
2 09/21 Control Flow Graphs
3 09/28 Dataflow Analysishw01
(by 10/12)
4 10/05 Taint Analysis
5 10/12 Abstract Interpretation
10/19 Midterm Week No Class
6 10/26 Widening and Narrowinghw02
(by 11/09)
7 11/02 Pointer Analysis
8 11/09 Inter-procedural Analysis
9 11/16 Constraint-based Analysis
10 11/23 Symbolic Executionhw03
(by 12/07)
11 11/30 Dynamic Analysis
12 12/07 Real-World Tools and Practice
12/14 Final Week No Class