2022 · Conference paper

Beyond the C: Retargetable Decompilation using Neural Machine Translation

BTC (Beyond The C) treats decompilation as plain-text translation from compiler-emitted x86-64 assembly to source code. It uses byte-pair-encoding tokenizers trained separately on assembly and source, and a standard fairseq transformer. Function pairs are matched through the compiler's CFI and line directives rather than language-specific parsers, compiler plugins or lifters, so the same pipeline is retrained for Go, Fortran, OCaml and C. Training sets range from about 10,000 functions for small C, Go and Fortran corpora to 2 million C functions built from Debian packages. The best model, trained on the large C set, reaches a normalized average edit distance of 0.46 on held-out functions.

Scope and limitations

Evaluation covers four languages at function level and scores outputs only by normalized edit distance to the original source. No compilation, test-based or semantic-equivalence check is reported, and whole-program decompilation is not evaluated. The authors state that the method cannot guarantee semantic correctness and is not yet ready for practical use on real code: even the best score means changes to roughly half of a function's tokens. Input is compiler-produced x86-64 assembly with labels and CFI directives intact, so disassembly of stripped binaries, other architectures and compilers without such directives are outside the evaluation. Sequence-length limits exclude long functions, and the small corpora are mostly competitive-programming and small utility code. The comparison with Katz et al. cites that work's reported score on shorter snippets rather than rerunning it on the same data.

Why it fits this collection

Adds neural decompilation evaluated beyond C, in Go, Fortran and OCaml, with a language-agnostic data pipeline, complementing the C-focused neural and LLM decompilation research in this section.

Publication and review details

Venue
Workshop on Binary Analysis Research (BAR) 2022
Status
Conference paper
Publication / posting date
2022 (exact date not verified)
Date source
Internet Society-deposited Crossref metadata supplies only publication year 2022; the publisher PDF separately identifies the 24 April 2022 workshop, which is not used to assert a publication month or day.
First arXiv submission
December 17, 2022
arXiv
2212.08950
Reviewed arXiv version
v1
DOI
10.14722/bar.2022.23009

The NDSS paper page lists Iman Hosseini and Brendan Dolan-Gavitt (NYU) and links the PDF and slides; Crossref gives the same two authors and only the year 2022. The PDF footer gives BAR 2022, 24 April 2022, San Diego, with ISBN 1-891562-76-2 and the DOI. arXiv v1 (2022-12-17), the only version, was posted after the workshop and links the BAR DOI. The paper's Availability section gives the figshare link for code, data and trained models. It is a private-share link: a scripted request received an HTTP 202 challenge, while a browser showed an item titled “Beyond the C - data & code”, marked as privately shared, CC BY 4.0, modified 2022-01-04, with btc.zip (18.98 GB) and additional.zip. The archives were not downloaded or inspected, and the promised VS Code extension was not located. Nothing was 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://www.ndss-symposium.org/ndss-paper/auto-draft-298/
  2. https://www.ndss-symposium.org/wp-content/uploads/bar2022_23009_paper.pdf
  3. https://doi.org/10.14722/bar.2022.23009
  4. https://api.crossref.org/works/10.14722/bar.2022.23009
  5. https://arxiv.org/abs/2212.08950v1
  6. https://figshare.com/s/2c68b9c181e80f4e3b06