Towards Neural Decompilation
Not on the map. Why?
Abstract (arXiv)
We address the problem of automatic decompilation, converting a program in low-level representation back to a higher-level human-readable programming language. The problem of decompilation is extremely important for security researchers. Finding vulnerabilities and understanding how malware operates is much easier when done over source code. The importance of decompilation has motivated the construction of hand-crafted rule-based decompilers. Such decompilers have been designed by experts to detect specific control-flow structures and idioms in low-level code and lift them to source level. The cost of supporting additional languages or new language features in these models is very high. We present a novel approach to decompilation based on neural machine translation. The main idea is to automatically learn a decompiler from a given compiler. Given a compiler from a source language S to a target language T , our approach automatically trains a decompiler that can translate (decompile) T back to S . We used our framework to decompile both LLVM IR and x86 assembly to C code with high success rates. Using our LLVM and x86 instantiations, we were able to successfully decompile over 97% and 88% of our benchmarks respectively.
Key facts. Cited by 15 papers in the map (data through 13 Oct 2026). First posted on arXiv 20 May 2019.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 2; 2022: 2; 2023: 3; 2024: 4; 2025: 2; 2026: 2.
15 papers.
Sort:
By area:
- 2022Code Translation with Compiler Representationscited by 42
- 2024LLM4Decompile: Decompiling Binary Code with Large Language Modelscited by 39
- 2023SLaDe: A Portable Small Language Model Decompiler for Optimized Assemblycited by 28
- 2022Beyond the C: Retargetable Decompilation using Neural Machine Translationcited by 15
- 2021Learning C to x86 Translation: An Experiment in Neural Compilationcited by 12
- 2023Boosting Neural Networks to Decompile Optimized Binariescited by 11
- 2024Leveraging LLMs for Legacy Code Modernization: Challenges and Opportunities for LLM-Generated Documentationcited by 6
- 2024Learning Program Behavioral Models from Synthesized Input-Output Pairscited by 4
- 2023Neural Machine Translation for Code Generationcited by 3
- 2021Improving type information inferred by decompilers with supervised machine learningcited by 1
- 2024StackSight: Unveiling WebAssembly through Large Language Models and Neurosymbolic Chain-of-Thought Decompilationcited by 1
- 2025Context-Guided Decompilation: A Step Towards Re-executabilitycited by 1
- 2026Echo: Learning-based Matching Decompilation using Trusted Back Translation16 Sep 2026
- 2026PCodeTrans: Translate Decompiled Pseudocode to Compilable and Executable Equivalent16 Mar 2026
- 2025A Deep Dive into Function Inlining and its Security Implications for ML-based Binary Analysis16 Dec 2025
- 2025Context-Guided Decompilation: A Step Towards Re-executability3 Nov 2025
- 2024Leveraging LLMs for Legacy Code Modernization: Challenges and Opportunities for LLM-Generated Documentation22 Nov 2024
- 2024Learning Program Behavioral Models from Synthesized Input-Output Pairs11 Jul 2024
- 2024StackSight: Unveiling WebAssembly through Large Language Models and Neurosymbolic Chain-of-Thought Decompilation7 Jun 2024
- 2024LLM4Decompile: Decompiling Binary Code with Large Language Models8 Mar 2024
- 2023Neural Machine Translation for Code Generation22 May 2023
- 2023SLaDe: A Portable Small Language Model Decompiler for Optimized Assembly21 May 2023
- 2023Boosting Neural Networks to Decompile Optimized Binaries3 Jan 2023
- 2022Beyond the C: Retargetable Decompilation using Neural Machine Translation17 Dec 2022
3 more
- 2022Code Translation with Compiler Representationscited by 42
- 2024LLM4Decompile: Decompiling Binary Code with Large Language Modelscited by 39
- 2023SLaDe: A Portable Small Language Model Decompiler for Optimized Assemblycited by 28
- 2022Beyond the C: Retargetable Decompilation using Neural Machine Translationcited by 15
- 2021Learning C to x86 Translation: An Experiment in Neural Compilationcited by 12
- 2023Boosting Neural Networks to Decompile Optimized Binariescited by 11
- 2024Leveraging LLMs for Legacy Code Modernization: Challenges and Opportunities for LLM-Generated Documentationcited by 6
- 2024Learning Program Behavioral Models from Synthesized Input-Output Pairscited by 4
- 2023Neural Machine Translation for Code Generationcited by 3
- 2021Improving type information inferred by decompilers with supervised machine learningcited by 1
- 2025Context-Guided Decompilation: A Step Towards Re-executabilitycited by 1
- 2025A Deep Dive into Function Inlining and its Security Implications for ML-based Binary Analysiscited by 1
12 most cited of 14 All 14 (JSON)
- 2026Echo: Learning-based Matching Decompilation using Trusted Back Translation16 Sep 2026
- 2026PCodeTrans: Translate Decompiled Pseudocode to Compilable and Executable Equivalent16 Mar 2026
- 2025A Deep Dive into Function Inlining and its Security Implications for ML-based Binary Analysis16 Dec 2025
- 2025Context-Guided Decompilation: A Step Towards Re-executability3 Nov 2025
- 2024Leveraging LLMs for Legacy Code Modernization: Challenges and Opportunities for LLM-Generated Documentation22 Nov 2024
- 2024Learning Program Behavioral Models from Synthesized Input-Output Pairs11 Jul 2024
- 2024LLM4Decompile: Decompiling Binary Code with Large Language Models8 Mar 2024
- 2023Neural Machine Translation for Code Generation22 May 2023
- 2023SLaDe: A Portable Small Language Model Decompiler for Optimized Assembly21 May 2023
- 2023Boosting Neural Networks to Decompile Optimized Binaries3 Jan 2023
- 2022Beyond the C: Retargetable Decompilation using Neural Machine Translation17 Dec 2022
- 2022Code Translation with Compiler Representations30 Jun 2022
12 newest of 14 All 14 (JSON)