When LLM Decompilers Recompile More and Preserve Less
LLM decompilers can pass recompilation tests while changing the program’s behavior.
The paper argues that build-and-rerun benchmarks miss cases where decompiled C passes shipped tests but diverges on other valid inputs. Its Decompile-Diverge oracle fuzzes the original and compares the decompiled function on the same inputs. Across eight systems, outputs that passed all shipped tests still diverged 4.9% overall, reaching 13% for one system. On CVE-grounded functions, some recompiled outputs removed the visible crash behavior tied to disclosed vulnerabilities. ArXiv · AI/CL/LG's note
The paper argues that build-and-rerun benchmarks miss cases where decompiled C passes shipped tests but diverges on other valid inputs. Its Decompile-Diverge oracle fuzzes the original and compares the decompiled function on the same inputs. Across eight systems, outputs that passed all shipped tests still diverged 4.9% overall, reaching 13% for one system. On CVE-grounded functions, some recompiled outputs removed the visible crash behavior tied to disclosed vulnerabilities. ArXiv · AI/CL/LG's note
score 5