CS 5963/6963: Applied Software Security Testing


This schedule is subject to change. Please check back frequently.

Part 1: Course Intro and Research 101

Monday Meeting Wednesday Meeting
Jan. 08
Course Introduction (slides)
Jan. 10
Research 101: Ideas (slides)
Jan. 15
No Class (Martin Luther King Jr. Day)
Jan. 17
Research 101: Writing (slides)
Jan. 22
Research 101: Reviewing and Presenting (slides)
Sign up for paper presentations by 11:59pm
Jan. 24
Introduction to Fuzzing (slides)
Readings:
Beginner Fuzzing Lab released

Part 2: Fuzzing Fundamentals

Monday Meeting Wednesday Meeting
Jan. 29
Input Generation (slides)
Readings:
Jan. 31
Runtime Feedback (slides)
Readings:
Feb. 05
Bugs & Triage I (slides)
Readings:
Triage Lab released
Feb. 07
Bugs & Triage II (slides)
Readings:
Beginner Fuzzing Lab due by 11:59pm
Feb. 12
Harnessing I (slides)
Readings:
Harnessing Lab released
Feb. 14
Harnessing II (slides)
Readings:
Final Project released
Triage Lab due by 11:59pm
Feb. 19
No Class (President's Day)
Feb. 21
Tackling Roadblocks (slides)
Readings:
Feb. 26
Fuzzing Science (slides)
Readings:
Sign up your final project team by 11:59pm
Feb. 28
Proposal Presentations
Harnessing Lab due by 11:59pm
Mar. 04
No Class (Spring Break)
Mar. 06
No Class (Spring Break)

Part 3: Fuzzing Enhancements

Monday Meeting Wednesday Meeting
Mar. 11
Optimization I (slides)
Readings:
Mar. 13
Optimization II (slides)
Readings:
Mar. 18
Hybrid Fuzzing I (slides)
Readings:
Mar. 20
Hybrid Fuzzing II (slides)
Readings:
Mar. 25
Directed Fuzzing (slides)
Readings:
Mar. 27
In-class Project Workday

Part 4: New Frontiers in Fuzzing

Monday Meeting Wednesday Meeting
Apr. 01
Fuzzing OS Kernels (slides)
Readings:
Apr. 03
LLM-guided Fuzzing (slides)
Readings:
Apr. 08
Fuzzing Compilers (guest lecture by John Regehr)
Readings:
Apr. 10
Hardware Testing (slides)
Readings:
Apr. 15
Fuzzing Multi-language Software
Readings:
Apr. 17
Final Presentations I
Apr. 22
Final Presentations II
Apr. 24
No Class (Reading Day)