Skip to main content
A stack of pointer boxes and arrows in flat gold and black, one arrow crossing a broken boundary line, in a two-ink risograph print

SLOP4708: Compile-Time Memory Safety in C

C has no memory safety and never will. Twelve weeks inside the retrofits engineers built to bolt some on anyway, and what each one gives up to get it.

What you will do

Twelve weeks, one retrofit a week: Cyclone, Checked C, separation logic, Frama-C, CompCert, MISRA-C and static analysis, and the academic borrow-checking prototypes chasing Rust's guarantee inside plain C. You'll annotate and verify real (small) C functions with at least three of these tools across the semester, run a real CVE through several of them side by side, and finish with a report that argues — on your own evidence, not on vibes — which tool you'd actually ship with.

Who it is for

You should already be comfortable reading and writing C, and unbothered by a little formal notation — you don't need prior exposure to Hoare logic or separation logic, but week 6 assumes you can follow a proof once it's explained, not that you've never seen a `∀`. If "C has no memory safety" is news to you, start with week 1's reading list before you enrol.

Where to go next

Studios

The weekly schedule and what happens in each teaching session.

Assessment

What is marked, what it is worth, and when it is due.

People

Who teaches the course and how to reach them.