LLMs as Idiomatic Decompilers: Recovering High-Level Code from x86-64 Assembly for Dart
Raafat Abualazm, Ayman Abo Elhassan

TL;DR
This paper explores using small specialized LLMs to decompile x86-64 assembly into Dart, demonstrating competitive performance with larger models and analyzing the impact of synthetic and cross-language training data.
Contribution
It introduces a specialized 4B LLM for Dart decompilation, compares data augmentation strategies, and evaluates cross-lingual transfer effects.
Findings
The 4B model achieves 71.3 CODEBLEU on Dart decompilation.
Adding Swift data improves performance at 8B but not at 4B.
Small models can produce readable, idiomatic Dart code.
Abstract
Translating machine code into human-readable high-level languages is an open research problem in reverse engineering. Despite recent advancements in LLM-based decompilation to C, modern languages like Dart and Swift are unexplored. In this paper, we study the use of small specialized LLMs as an idiomatic decompiler for such languages. Additionally, we investigate the augmentation of training data using synthetic same-language examples, and compare it against adding human-written examples using related-language (Swift -> Dart). We apply CODEBLEU to evaluate the decompiled code readability and compile@k to measure the syntax correctness. Our experimental results show that on a 73-function Dart test dataset (representing diverse complexity levels), our 4B specialized model achieves 71.3 CODEBLEU (95% CI 65.5-77.1), approximately comparable to a ~480B code model (73.1; 67.4-78.8). On a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
