AI
AI-Powered Framework Recovers Readable Code from Binaries Without Test Suites
CHISEL combines compiler feedback and fuzzing to iteratively refine LLM-generated decompiled code, achieving 96% recompilability without relying on predefined test cases.
Decompiling binary executables back into readable source code has long challenged software engineering. Traditional tools produce pseudo-code that's hard to parse and won't compile, while recent large language model approaches improve readability but often introduce semantic errors that break functionality.
The CHISEL Approach#
Researchers have introduced CHISEL, a framework that iteratively recovers compilable and functionally correct source code from binaries without needing a pre-built test suite. The system starts with pseudo-C output from Ghidra, a popular decompiler, then refines it through automated feedback loops.
Rather than relying on manual testing, CHISEL taps two key signals: compiler validation (static analysis) to check whether generated code compiles, and coverage-guided fuzzing (differential analysis) to detect execution errors by comparing outputs. The framework tracks divergences across iterations, retains the best candidates, and uses rich observables to ground its feedback decisions.
Results and Performance#
Testing on 120 functions from ExeBench across multiple optimization levels (O0–O3) and both stripped and unstripped binaries, using the open-weight Gemma 4:31b LLM, CHISEL achieved:
- 96.1% recompilability: code that compiles successfully
- 79.8% re-executability: code that runs without crashes
- Average 2.1 iterations to convergence
- 26% recovery rate for first-generation execution errors
A noteworthy finding: the framework's feedback oracle falsely accepted only 9.4% of candidates, indicating strong soundness in its validation checks.
Context and Impact#
CHISEL outperforms two recent competing approaches for LLM-assisted decompilation, suggesting iterative refinement with lightweight automation is a promising path forward. The test suite-free model is particularly valuable in real-world scenarios where generating comprehensive test cases for binaries of unknown provenance is impractical.

