Date & Time:
February 2, 2024 12:00 pm – 1:30 pm
02/02/2024 12:00 PM 02/02/2024 01:30 PM America/Chicago William Mansky (UIC)- Foundational C Verification with VST and Iris

Abstract: The strongest way to guarantee a program’s correctness is to verify it with a program logic implemented in an interactive theorem prover. Two systems for this kind of verification are the Verified Software Toolchain (VST), which connects to the CompCert verified C compiler to provide guarantees down to assembly, and Iris, a language-independent separation logic framework that has been the focus of a huge amount of recent research across many application domains and language features. In this talk, I aim to give a taste of the theory and practice of these foundational program verification tools. I will review the basic principles of separation logic, describe how Iris implements them via a flexible notion of “resource algebra” and an elegant proof mode, and walk through my recent work rebuilding VST on top of Iris, from the basic concept of memory ownership to the user-level tactics.

Speakers

William Mansky

Assistant Professor of Computer Science, UIC

I’m interested in the semantics, analysis, and correctness of programs, especially concurrent programs. I’ve done work in compiler and program verification, programming language semantics for low-level languages, and formalizing memory models (both sequential and concurrent). My main tools are the interactive theorem provers Coq and Isabelle.

I am working on building tools and techniques for proving the correctness of concurrent C programs, using the Verified Software Toolchain(code here). I aim to prove correctness of realistic concurrent systems code, including web server and database implementations, and to develop simple approaches to reasoning about fine-grained concurrency. I’ve written an introduction to verifying concurrent programs in VST, available here.

More generally, I’m interested in bridging the gap between programming and program verification, providing better tools for programmers to understand the effects of code as they write it, and making it easier to verify code as it’s written. I’d like to make it possible for every C programmer to write proved-correct code.

Related News & Events

graphic
Video

Advancing Actionable AI Weather Forecasts For Developing Economies: Laude Institute Moonshots Grant

Aug 26, 2026
headshot
In the News

Illinois-Led Regional Quantum Hub NSF HQAN Renewed to Pursue Industry-Ready Computing and Workforce Development

Aug 25, 2026
hadron collider
UChicago CS News

When Artificial Intelligence Meets Physics Beneath the French-Swiss Border

Aug 21, 2026
headshot
UChicago CS News

Managing Director Nita Yack Among Six UChicago Staff Members Honored With Staff Impact Awards In Inaugural Year

Aug 12, 2026
UChicago CS News

IBM, UChicago Demonstrate ‘Quantum Advantage,’ Outperforming Traditional Computers With A Quantum Computer

Jul 30, 2026
headshot
UChicago CS News

Can Apps Work Without Taking Possession of Your Data? Researchers Think So

Jul 27, 2026
general
UChicago CS News

Remotely Operated, Robotic Lab Receives $20 Million National Science Foundation Grant

Jul 22, 2026
ChatGPT policy sheet
In the News

When Chatbots Come To Class: How High School Students Are Navigating the New AI Frontier

Jul 09, 2026
headshot
UChicago CS News

Fred Chong Named Distinguished Service Professor in July 2026

Jul 01, 2026
BloomBeacon touch
UChicago CS News

Flexible Displays, Flexible Lives: How BloomBeacon Reimagines Interaction

Jun 11, 2026
UChicago CS News

SciFM 2026 at UChicago: Inside the Premier Gathering of AI, Foundation Models, and the Future of Scientific Discovery

Jun 03, 2026
Student using ChatGPT
UChicago CS News

Are Students Hiding Their AI Use? The Social Stigma Behind AI Use in the Classroom

May 27, 2026
arrow-down-largearrow-left-largearrow-right-large-greyarrow-right-large-yellowarrow-right-largearrow-right-smallbutton-arrowclosedocumentfacebookfacet-arrow-down-whitefacet-arrow-downPage 1CheckedCheckedicon-apple-t5backgroundLayer 1icon-google-t5icon-office365-t5icon-outlook-t5backgroundLayer 1icon-outlookcom-t5backgroundLayer 1icon-yahoo-t5backgroundLayer 1internal-yellowinternalintranetlinkedinlinkoutpauseplaypresentationsearch-bluesearchshareslider-arrow-nextslider-arrow-prevtwittervideoyoutube