~/talk

Using Formal Reasoning to Build Concurrent Go Systems

Talkat GopherCon Europe 2024 · 2024-06-17..06-20· [go]
slides:none on file

Uses TLA+ and a model checker to prove concurrency properties and find real bugs, including a gops deadlock caused by token-buffer ordering that the checker reproduces as a concrete trace. Demonstrates a pipeline race where pruning beats event insertion, fixes by moving who adds the shared object, and shows the checker exploring 900,000 states in 8 seconds. Notes this approach surfaces subtle faults preproduction and scales to real services (Amazon reports using TLA+ across many microservices).

AI-written summary · about

  1. 0:00Formal reasoning in Go
  2. 2:08Why formal reasoning matters
  3. 7:19Programs as state machines
  4. 9:50TLA+ and temporal logic
  5. 13:02Model checkers verify specs
  6. 15:47Debugging Go concurrency bug
  7. 18:57Designing with TLA+
  8. 24:57Fixing pipeline deadlock
  9. 25:42Amazon’s TLA+ in production
  10. 26:46Key takeaways
  11. 28:52References
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.