Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Using TLA+ to Fix a Very Difficult glibc Bug

CppNow via YouTube

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Explore how formal specification language TLA+ can be used to model, debug, and fix complex concurrency issues in real-world C code through a detailed case study of a subtle glibc condition variable bug. Learn about a years-long bug in glibc's condition variable implementation that affected major programming languages including Python, C#, and OCaml, and discover how TLA+ modeling helped identify the root cause when traditional debugging approaches failed. Follow the systematic process of translating complex C code into TLA+ specifications, using TLA+'s "run all interleavings of all threads" model to reproduce the bug and evaluate various proposed patches. Understand how formal verification techniques can distinguish between working and non-working fixes, and see how TLA+ modeling enabled the simplification and cleanup of the final patch. Gain practical insights into applying formal methods to concurrent programming challenges, with demonstrations of straightforward translation techniques from C code to TLA+ specifications. The presentation includes real-world examples of how formal verification can solve problems that stumped experienced developers for years, making TLA+ accessible for debugging complex multithreaded code.

Syllabus

Using TLA+ to Fix a Very Difficult glibc Bug - Malte Skarupke - C++Now 2025

Taught by

CppNow

Reviews

Start your review of Using TLA+ to Fix a Very Difficult glibc Bug

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.