~/talk

Static Deadlock Detection for Go

Talkat Golang UK 2016 · on Thursday, 2016-08-18· [security]
links:none on file
slides:none on file

A static deadlock detector that infers session types from Go source constructs a global graph of matched sends and receives and flags incompatible communications including local deadlocks that the runtime checker misses. The tool analyzes SSA form via the Go SSA package, reports likely deadlocks with possible false positives, runs on small open‑source programs (up to a few hundred lines) and is published on GitHub. Current limitations include unbuffered channels only and limited dynamic pattern support.

AI-written summary · about

  1. 0:00Introduction
  2. 1:43Concurrency is complicated
  3. 2:21What are concurrency bugs
  4. 3:27How message passing works
  5. 5:50Why its hard
  6. 6:21Control flow
  7. 6:51Runtime detector
  8. 7:42Why need a new deadlock detector
  9. 9:21Local deadlock
  10. 9:38Deadlock detector
  11. 11:03How it works
  12. 12:23Modeling concurrency
  13. 15:22Type checking
  14. 16:42Session types
  15. 18:11Source code to model
  16. 20:36Global graph
  17. 22:17Conclusion
~/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.