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

TEI conference announcement
UChicago CS News

This Spring at UChicago: TEI’26 Unites Technology, Art, and Design on Campus

Feb 03, 2026
neutron star
UChicago CS News

RADAR: A new era of collaborative cosmic exploration

Jan 28, 2026
privacy settings example
UChicago CS News

Designed to Deceive: Why Knowledge Isn’t Enough to Beat Dark Patterns

Jan 27, 2026
headshot
UChicago CS News

Bridging Physics and CS: A Conversation with our latest IBM PhD Fellow, Soumik Ghosh

Jan 23, 2026
Tanya presenting research
UChicago CS News

Ranya Sharma Receives CRA Outstanding Undergraduate Researcher Award

Jan 22, 2026
Tensormesh CEO Junchen Jiang
Video

Building Tensormesh: A Conversation with the CEO (Junchen Jiang)

Jan 08, 2026
cityscape
UChicago CS News

UChicago Researchers Help Launch First International Conference on AI Scientists in Beijing

Jan 08, 2026
test of time headshots
UChicago CS News

Five Paths to Lasting Influence: Celebrating Five UChicago CS Test of Time Award Recipients

Dec 02, 2025
technology architecture
UChicago CS News

Researchers Built Their Own ISP to Fix the Internet– A Decade Later, It’s Still Running

Nov 20, 2025
presenting research at a conference
UChicago CS News

Hard to Discover, Harder to Use: The Widespread Failure of Ad Transparency Settings

Nov 18, 2025
computation performed on qubits
UChicago CS News

Constraints on Quantum-Advantage Experiments Due to Noise

Nov 13, 2025
headshot
UChicago CS News

Data Movement Without Borders: Ian Foster and the Globus Team Honored with SC25’s Test of Time Award

Nov 13, 2025
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