~/talk

Xref.rs - Erlang static analysis in Rust

Talkat Alchemy Conf 2021 · 2021-05-14..05-15· [elixir-and-erlang, rust]
slides:none on file

Reimplements xref analysis in Rust to drop end-to-end check from ~30 minutes to about 200 ms on a large codebase by reading .beam imports/exports tables instead of parsing full debug ASTs, loading expensive debug info only for modules with detected problems, and using string interning plus rayon parallelism. Prototype still misses rebar ignore handling and precise release parsing, spends most time loading beams, and plans optimizations like lazy loading, bespoke beam parsers and smaller per-module allocations.

AI-written summary · about

  1. 0:00Introduction
  2. 0:25Erlang Rust Beam integration
  3. 1:11Undead error problem
  4. 2:17Early vs late binding
  5. 5:06Late binding benefits
  6. 7:14Xref tool overview
  7. 9:21Xref limitations
  8. 10:03Release analysis challenges
  9. 13:25Optimizing analysis
  10. 15:31BEAM file structure
  11. 18:43Naive analysis approach
  12. 20:51Import and export tables
  13. 22:43Separating detection and reporting
  14. 24:50Why Rust for xref.rs
  15. 28:49Data loading vs analysis
  16. 31:58Performance results
  17. 33:26Developer experience impact
  18. 35:53Future improvements
  19. 40:15Key takeaways
  20. 41:20Q&A session
~/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.