Skip to main content

Week 11: Case study: one CVE, every tool

A real use-after-free CVE run through several of the semester's tools — what each catches, what each misses, and what each cost to try

3 May 2027

No lecture this week introduces a new tool. Instead we take a single real use-after-free CVE and put four or five of the semester’s approaches against it side by side: does MISRA-C compliance flag anything nearby? Does the clang static analyzer catch this specific pattern, or is it exactly the kind of aliasing it’s known to miss? Does a Checked C conversion of the function even apply, given UAF is out of its stated scope? Does the bug become provable once you write the separation-logic-flavoured ACSL contract Frama-C needs?

The point isn’t to crown a winner. It’s to make the annotation-cost-versus- guarantee tradeoff from week 2 concrete, on one function, with one bug, instead of in the abstract — and to give you the comparative method your final report is going to need.

Outline

This week’s studio

You reproduce this triage yourselves, on a second, related CVE, in groups.

Teaching team