~/talk

Targeted Static Analysis for OCaml C Stubs: Eliminating gremlins from the code

Talkat OCaml 2023 · on Saturday, 2023-09-09· [compilers-and-language-design, c-and-cpp]
links:none on file
slides:none on file

Migrates OCaml C bindings by parsing OCaml parsetrees and typed trees to auto-generate a C header generator and a caller model, then feeds a simplified runtime-lock model and wrappers into the Goblint static analysis framework to detect GC-safety bugs like invalid dereferences and data races introduced when the runtime lock is released. The prototype runs on real codebases, integrates with Dune and CI, and finishes analysis jobs in about ten minutes per repository file set.

AI-written summary · about

  1. 0:00Introduction
  2. 1:03OCaml C bindings risks
  3. 3:11Bugs in OCaml C bindings
  4. 5:20Header files for type safety
  5. 6:45Data races detection
  6. 9:54OCaml types limitations
  7. 11:48Assertions for C stubs
  8. 13:53OCaml runtime modeling
  9. 15:19Results and integration
  10. 17:08Analyzer implementation
  11. 18:55GitHub Actions SARIF
  12. 19:17Q&A
~/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.