LLM4Decompile: Decompiling Binary Code with Large Language Models
<|reference_start|>LLM4Decompile: Decompiling Binary Code with Large Language Models: Decompilation aims to convert binary code to high-level source code, but traditional tools like Ghidra often produce results that are difficult to read and execute. Motivated by the advancements in Large Language Models (LLMs), we propose LLM4Decompile, the first and largest open-source LLM series (1.3B to 33B) trained to decompile binary code. We optimize the LLM training process and introduce the LLM4Decompile-End models to decompile binary directly. The resulting models significantly outperform GPT-4o and Ghidra on the HumanEval and ExeBench benchmarks by over 100%. Additionally, we improve the standard refinement approach to fine-tune the LLM4Decompile-Ref models, enabling them to effectively refine the decompiled code from Ghidra and achieve a further 16.2% improvement over the LLM4Decompile-End. LLM4Decompile demonstrates the potential of LLMs to revolutionize binary code decompilation, delivering remarkable improvements in readability and executability while complementing conventional tools for optimal results. Our code, dataset, and models are released at https://github.com/albertan017/LLM4Decompile<|reference_end|>
@article{tan2024llm4decompile:,
    title={LLM4Decompile: Decompiling Binary Code with Large Language Models},
    author={Hanzhuo Tan, Qi Luo, Jing Li, Yuqun Zhang},
    journal={arXiv preprint arXiv:2403.05286},
    year={2024},
    archivePrefix={arXiv},
    eprint={2403.05286},
    primaryClass={cs.PL cs.CL}
}