~/talk

What we Found in the BEAM Code

Talkat Erlang User Conference 2017 · 2017-06-08..06-09· [developer-experience]
links:none on file
slides:none on file

Claim: recover an Erlang abstract syntax tree from BEAM bytecode even without debug info. Built a pipeline using beam disassembly, an intermediate representation that expands VM steps, SSA conversion and graph-rewriting to restructure unstructured control flow into a functional normal form, then emit Erlang AST and feed it into refactor integration. Demonstrations show reconstructed conditionals, constants (42) and added function edges, but original variable names, macros and some patterns are lost and large modules run slowly.

AI-written summary · about

  1. 0:00Intro
  2. 0:44Motivation
  3. 3:00Refactor Eri
  4. 6:17Machine code vs. BEAM
  5. 8:17What is the problem?
  6. 8:49Is it starightforward? NO!
  7. 10:55Decompiler workflow
  8. 11:36Disassambled BEAM
  9. 12:34Intermediate Representation
  10. 16:18Control Flow Graph (CFG)
  11. 17:36Static Single Assignment (SSA)
  12. 19:22Structuring
  13. 25:12A-Normal Form
  14. 27:59Code generation Methodology
  15. 41:03Future Notes
~/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.