2024 · Conference paper

SLaDe: A Portable Small Language Model Decompiler for Optimized Assembly

SLaDe translates function-level assembly into C with a 200M-parameter encoder–decoder model, code-specific tokenization and PsycheC type completion. It studies x86 and ARM at -O0 and -O3, combining generated candidates with input/output checks. The input is assembly text, not raw machine bytes; disassembly is outside the method.

Scope and limitations

Evaluation covers about 4,000 ExeBench functions and a 112-program synthesis suite. Beam size 5 selects the first candidate passing finite I/O tests; generated functions are inserted into the original calling context. Passing these tests is not whole-program or all-input equivalence. Edit similarity is a readability proxy. Longer functions, external calls and incorrect type/operator predictions remain failure modes; the model has 1,024-position source and target windows. Historical baseline comparisons have different coverage and do not establish current rankings.

Why it fits this collection

Adds type-inference-assisted neural decompilation with explicit execution-based evaluation, complementing symbol recovery and later LLM decompilation studies.

Publication and review details

Venue
IEEE/ACM CGO 2024
Status
Conference paper
Publication / posting date
March 2, 2024
Date source
IEEE’s Crossref deposit gives published/print date 2024-03-02. Edinburgh’s publication record instead gives 2024-02-28, also the DOI-creation date. This entry uses the publisher-deposited print date and does not infer it solely from the conference schedule.
First arXiv submission
May 21, 2023
arXiv
2305.12520
Reviewed arXiv version
v3
DOI
10.1109/CGO57630.2024.10444788

Reviewed arXiv v3 dated 2024-02-15, the accepted CGO manuscript; publication metadata establishes the final venue and pages. Paper reference 65 links the Zenodo artifact. Its separate LICENSE restricts included code/data/models to paper reproducibility and calls it nonproduction research code; no permissive license is inferred. The 1.83 GB archive was not downloaded or inspected. Appendix prerequisites include Python 3.8, PyTorch 1.10.2, Transformers 4.22.2, PsycheC, Haskell Stack and an AArch64 GCC toolchain. BTC weights are not redistributed and ChatGPT outputs may change. These are documented historical requirements, not a verified installation; no code or experiments were run.

Sources reviewed

Source review only; experiments were not rerun for this collection. Cite the original authors using the linked paper or BibTeX.

Primary sources

  1. https://ieeexplore.ieee.org/document/10444788
  2. https://api.crossref.org/works/10.1109/CGO57630.2024.10444788
  3. https://www.research.ed.ac.uk/en/publications/slade-a-portable-small-language-model-decompiler-for-optimized-as/
  4. https://conf.researchr.org/details/cgo-2024/cgo-2024-main-conference/17/SLaDe-A-Portable-Small-Language-Model-Decompiler-for-Optimized-Assembly
  5. https://arxiv.org/abs/2305.12520
  6. https://arxiv.org/pdf/2305.12520v3
  7. https://zenodo.org/records/10205121
  8. https://zenodo.org/api/records/10205121
  9. https://zenodo.org/api/records/10205121/files/LICENSE/content