2025 · Journal article
DecLLM: LLM-Augmented Recompilable Decompilation for Enabling Programmatic Use of Decompiled Code
DecLLM repairs decompiler pseudocode that does not recompile into C that compiles and runs, so source-level tools such as CodeQL can be applied to binaries. An iterative loop feeds compiler errors to an off-the-shelf LLM, reverting illegal outputs and large deletions, then uses mismatched test outputs and AddressSanitizer reports from the rebuilt program to repair behavior, and finally fuzzes the original and rebuilt executables for divergences. With GPT-3.5 and GPT-4 the authors report 74% and 78.3% success on 300 Code Contest programs; on Coreutils and CGC binaries, 61.9–70.9% recompile and 48.1–59.0% are fully functional.
Scope and limitations
On Code Contest, success means the repaired code compiles and the rebuilt executable passes the supplied test cases, with AFL++ fuzzing as an extra check; the Coreutils and CGC overall rates also count rebuilt binaries that malfunction or crash. This establishes compilability and test-based agreement, not semantic equivalence, which the authors note is undecidable. Results depend on IDA Pro 8.3 output, with one Ghidra 10.4 repetition, and on the API-served gpt-3.5-turbo-0613 and gpt-4-0314 snapshots with a 4,096-token limit, so programs were chosen to fit within half of it. The 300 Code Contest programs average 112.9 lines; Coreutils 9.5 and CGC binaries were compiled without stripping symbols and repaired function by function, which cannot infer undefined globals. Around 30% of hard cases still fail, mainly from decompiler address/data confusion, ill-inferred buffer sizes, long outputs that include STL code and LLM type-cast shortcuts; deviations not exercised by tests remain undetected. CodeQL analysis of Juliet samples needed manual query adaptation.
Why it fits this collection
Adds recompilability-oriented repair of decompiler output, complementing readability-oriented LLM refinement and neural decompilation research.
Publication and review details
- Venue
- Proceedings of the ACM on Software Engineering (ISSTA 2025)
- Status
- Journal article
- Publication / posting date
- June 22, 2025
- Date source
- The ACM article page and publisher-deposited Crossref metadata agree on publication on 2025-06-22. The ISSTA presentation date is not substituted for this journal publication date.
- DOI
- 10.1145/3728958
The ACM page and Crossref agree on the title, nine-author order, DOI, volume 2, issue ISSTA, pages 1841–1864 and the 2025-06-22 publication date (received 2025-02-27, accepted 2025-03-31); the ACM page supplies article number ISSTA081, which Crossref omits. ACM marks the article open access under CC BY-ND 4.0, and its HTML full text was reviewed. No arXiv version of DecLLM was found. The related preprint arXiv:2310.06530, “Refining Decompiled C Code with Large Language Models” (DecGPT; v1 2023-10-10, v2 2023-11-28), shares eight of the nine authors, omitting Daoyuan Wu, and the recompilation goal, but its title, author list and reported results differ, so it is not recorded as this paper’s arXiv identifier. The Data Availability section points only to the Google Sites artifact page. As reviewed, it describes DecRule’s preprocessing rules, error examples, dynamic-repair case analysis and the CWE list; no source repository, prompt package or dataset download was identified, so code_url stays null. The prototype targeted output from the commercial IDA Pro decompiler and used OpenAI model snapshots that may no longer be served. Nothing was run.
Sources reviewed
Source review only; experiments were not rerun for this collection. Cite the original authors using the linked paper or BibTeX.
Primary sources
- https://dl.acm.org/doi/10.1145/3728958
- https://api.crossref.org/works/10.1145/3728958
- https://dl.acm.org/doi/pdf/10.1145/3728958
- https://sites.google.com/view/decllm
- https://sites.google.com/view/decllm/decrule
- https://sites.google.com/view/decllm/decrule-errors
- https://sites.google.com/view/decllm/dynamic-repairing
- https://sites.google.com/view/decllm/cwe
- https://arxiv.org/abs/2310.06530