Recompilation Is Not Enough: Test-Guided Decompiled-C Repair

📅 2026-09-07
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
研究解决了反编译C代码修复问题,通过编译器反馈和官方测试指导的几步工作流程进行修复,以确保行为一致性。
📝 Abstract
Decompiled C often becomes recompilable only after repair, but recompilation alone does not establish test-observed behavior. A recompiled command-line binary can still parse options incorrectly, print different bytes, or return a different exit status. We present a few-step workflow for repairing decompiled C using compiler feedback and related official tests. Compiler and linker diagnostics first guide build repair. Once the repaired C recompiles into a binary, smoke checks and related official tests expose behavioral discrepancies for semantic repair. In a preliminary static-enriched evaluation on 104 Coreutils 9.5 binaries with available decompiler exports and deterministic exact-output smoke comparisons, 91 binaries (87.5%) recompile and pass the test gate; 9 do not recompile within the repair budget, and 4 recompile but still fail the test gate. The result suggests that test-gate feedback can make LLM-assisted repair of decompiled C more auditable than compile-only recovery.
Problem

Research questions and friction points this paper is trying to address.

decompiled C
recompilation
behavioral discrepancies
test-gate feedback
repair
Innovation

Methods, ideas, or system contributions that make the work stand out.

test-guided repair
decompiled C
compiler feedback
behavioral discrepancies
LLM-assisted repair
🔎 Similar Papers
No similar papers found.