REVIEW 3 major objections 3 minor 5 references
This paper argues that fair benchmarking of LLMs on reverse engineering is limited by the reliability of binary-to-source alignment, not model capability, and that unpaired optimization comparisons overstate performance decay through surviv
Reviewed by Pith at T0; open to challenge. T0 means a machine referee read the full paper against a public rubric. the ladder, T0–T4 →
T0 review · deepseek-v4-flash
2026-08-02 08:09 UTC pith:QTJ5ZJOY
load-bearing objection A solid, well-scoped methodology paper — the eight-gate funnel and paired stable-key analysis are genuinely new, but the paired claim rests on a key that is asserted rather than independently validated. the 3 major comments →
REFORGE: A Method for Benchmarking LLMs' Reverse Engineering Capabilities in Decompiled Binary Function Naming
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
Core claim
Reforge constructs ground truth by compiling synthetic C programs, extracting function inventories from DWARF and syntax trees, aligning them via compiler line directives, decompiling stripped binaries, and gating alignment quality through an eight-check confidence funnel. On a 15-program micro-benchmark, the funnel's high-confidence yield drops from 87.2% to 65.9% with optimization, while the population of evaluable functions shrinks from 220 to 132. When the same functions are tracked across optimization levels with a source-anchored key, per-function naming accuracy changes only marginally (−0.006 to +0.033 Token F1 across models), so the aggregate decline is attributable to which functio
What carries the argument
The stable, source-anchored function key: test case, declaration file, declaration line and column, and normalized function name. It tracks a logical function across optimization levels when binary-side identifiers change for roughly 86% of functions between the two lowest levels. Paired comparison over this key turns aggregate optimization comparisons into within-function comparisons. The eight-gate confidence funnel operationalizes alignment uncertainty as explicit, stratified tiers (GOLD, SILVER, BRONZE) without silently discarding functions that fail quality checks.
Load-bearing premise
The stable key assumes the source declaration line and column uniquely identify the same logical function across optimization levels; if inlining or merging changes the declaration-to-binary mapping, the paired analysis would pair different functions and the survivorship conclusion would be an artifact.
What would settle it
A manual audit of a random sample of paired functions checking whether the source-anchored key maps to the same logical function across levels; if mismatches are frequent, the survivorship-bias conclusion collapses. Alternatively, a comparison on a corpus with independently verified declaration sites that shows within-function decay reappearing once pairing is corrected would falsify the claim.
If this is right
- Benchmarks claiming optimization-level effects should report alignment yield and per-stage attrition alongside accuracy, and use paired analysis over a source-anchored key.
- Accuracy numbers reported without disclosing ground-truth reliability should be understood as describing a survivorship-filtered population, especially at higher optimization levels.
- Ranked shortlists of candidate names (best of three) offer a practical boost in analyst-assistance settings, but intra-function heuristics cannot recover the oracle uplift because stripped functions retain a median of only two meaningful identifier tokens.
- The methodological conclusions—attrition, shifting failure modes, and survivorship bias—are properties of the compilation-and-alignment process and are expected to hold for any toolchain emitting DWARF-equivalent metadata.
Where Pith is reading between the lines
- The survivorship-bias critique generalizes beyond function naming to any binary-analysis benchmark where compilation attrition selects simpler functions; the same paired-key logic applies to type recovery, summarization, and vulnerability detection evaluations.
- The finding that roughly one in seven lexically zero-scoring predictions is semantically apt suggests current exact-match metrics undervalue synonym recovery; a standardized semantic metric would give fairer capability comparisons across models.
- The stable-key design depends on the source declaration site surviving inlining and merging; a testable threat is whether the same declaration line can host different logical functions after transformation, which would mispair the analysis.
- The near-zero uplift from corpus-derived re-ranking hints that useful signals for shortlist selection must come from beyond the function body, such as call-graph context or cross-reference frequency.
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The manuscript argues that the principal bottleneck in benchmarking LLM-assisted reverse engineering is not model capability but the reliability of binary-to-source alignment under compiler optimization. It introduces Reforge, a provenance-tracked pipeline that constructs function-level ground truth from synthetic C programs compiled at four optimization levels, using a DWARF oracle and a Tree-sitter syntactic oracle, aligning them via line directives, decompiling stripped binaries with Ghidra, and scoring LLM predictions against source identifiers. Alignment uncertainty is operationalized as an eight-gate confidence funnel with GOLD/SILVER/BRONZE tiers, and function identity across optimization levels is tracked with a stable source-anchored key (test case + declaration file/line/column + normalized name). On a 15-program micro-corpus, high-confidence yield falls from 87.2% to 65.9% across optimization levels, and the paper reports that unpaired optimization-level comparisons overstate performance decay through survivorship bias: per-function paired deltas across models range from −0.006 to +0.033, with Wilcoxon signed-rank p-values ≥ 0.209. Seven LLMs are evaluated on function naming, with modest top-1 accuracy, a small upper-bound benefit from top-K shortlists, and a semantic-similarity check bounding the lexical metric's underestimate.
Significance. The contribution is primarily methodological. If the findings hold, the paper provides a valuable corrective to common benchmark practice: reporting alignment yield and per-stage attrition, stratifying by confidence, and preferring paired analysis over a stable source-anchored key when comparing across optimization levels. Strengths include a deterministic ground-truth core verified by repeated hash comparison, a direct check of Ghidra decompiler determinism, an auditable attrition trail in which no function is silently discarded, and an openly available pipeline and evaluation notebooks. The paper also carefully labels the empirical LLM results as proof-of-concept, not general capability estimates. However, the central survivorship claim rests on the validity of the stable key, which is not independently validated; this needs to be addressed before the methodological conclusion can be considered fully supported.
major comments (3)
- [§3.4] The paired-analysis conclusion in §4.2 depends entirely on the stable key (test case + declaration file/line/column + normalized name) correctly identifying the same logical function at -O0 and -O3. The paper does not validate this key against any independent ground truth, such as manual inspection of a sample of functions or a compiler-verified mapping. Under inlining and merging, the address-overlap join can attach a decompiled binary function to one source declaration while the model is scored against a different or superposed function. If such mispairing is not rare, the reported paired deltas of −0.006 to +0.033 and Wilcoxon p ≥ 0.209 are what noise would look like, and the null result would not support the survivorship-bias explanation. A direct fix is to re-run the naming evaluation on the same corpus compiled with -O3 -fno-inline, where each source function survives as a separate
- [§4.2] The paired cohort is described only as 'functions evaluable at both the lowest and highest levels.' The paper does not report the cohort size, its distribution across GOLD/SILVER/BRONZE tiers, or whether the cohort includes weak-join and gated-out functions. This matters because the mispairing risk is highest for SILVER and BRONZE functions, whose address joins may be weak or ambiguous. The authors should report the number of paired functions, their tier composition, and the paired analysis separately for GOLD-only versus all tiers. A small stratum with weak joins could be driving the null result even if GOLD functions show a real within-function decay.
- [§5] The abstract states without qualification that 'unpaired optimization-level comparisons overstate performance decay through survivorship bias,' and §5 asserts this is 'expected to hold for any toolchain that emits DWARF-equivalent metadata.' The empirical support is a 15-program synthetic corpus compiled with a single compiler (GCC) for a single architecture (x86-64) and decompiled with Ghidra. The paper later lists cross-toolchain replication as future work, which is in tension with the unqualified claim. The authors should either temper the claim to the observed setting (GCC/x86-64/Ghidra) or provide at least one additional toolchain/architecture replication to justify the generalization.
minor comments (3)
- [§4.3] Section numbering error: '3.5 Tier Strata Revisited' appears after §4.3 and before §4.4; it should be renumbered (e.g., §4.4) or absorbed into §3.5 with cross-references adjusted.
- [Table 1] Gate 5 ('Strong address join (≥ 0.9)') and Gate 4 ('Overlap ratio ≥ 0.95') use thresholds that are presented as fixed. The paper lists a threshold sensitivity analysis as future work, but a brief statement of how sensitive the yield numbers and paired-delta results are to these thresholds would strengthen the reader's confidence that the findings are not artifacts of the hand-chosen values.
- [§4.4] The top-K oracle metric is correctly labeled an upper bound, but the sentence 'the best candidate appears at rank two or three rather than rank one, indicating a ranking or calibration gap' should be careful: the oracle selects the best candidate after seeing ground truth, so the rank distribution of improvements is not necessarily evidence of a realizable ranking gap. A minor rewording would avoid over-interpretation.
Circularity Check
No significant circularity: the survivorship-bias claim is an empirical paired-vs-unpaired comparison, not a construct defined into existence.
full rationale
The paper's central claim—that unpaired optimization-level comparisons overstate performance decay through survivorship bias—is an empirical statistical decomposition. It contrasts aggregate means across optimization levels with per-function paired deltas computed over a stable source-anchored key (Section 3.4). The paired deltas and Wilcoxon results are measured outcomes, not consequences of how the key is defined. The key (test case, declaration file/line/column, normalized name) does not encode the naming score, so the finding is not self-definitional. The confidence-funnel thresholds are design choices; no parameter is fitted to produce the survivorship result. The top-K oracle metric is explicitly labeled an upper bound, not a prediction. No self-citations appear in the reference list; the EUBA and decompiler-fidelity works cited are external and used as background or design motivation, not to forbid alternatives. The unvalidated stable key is a validity threat—mispairing under inlining/merging could make the paired null result an artifact—but a threat to validity is not circularity: if the key is wrong, the conclusion is incorrect, not tautological. No step reduces to its own inputs by construction, so the honest finding is no significant circularity.
Axiom & Free-Parameter Ledger
free parameters (3)
- GOLD overlap gate threshold =
0.95
- Strong address join threshold =
0.9
- Top-K shortlist size =
3
axioms (4)
- domain assumption DWARF debug information accurately records source function names and address ranges
- domain assumption Tree-sitter parse of preprocessed source yields a complete, correct syntactic function inventory
- domain assumption Compiler-emitted line directives correctly bridge source and binary locations
- domain assumption The stable source-anchored key identifies the same logical function across optimization levels
read the original abstract
Large language models (LLMs) are increasingly applied to reverse-engineering tasks, and recent threat-intelligence reporting shows them operating inside live offensive-security workflows. Claims about their capability, however, outpace our ability to measure it. Existing benchmarks for LLM-assisted binary analysis treat the construction of function-level ground truth as a solved pre-processing step and report accuracy without disclosing how many functions were reliably evaluable. We argue that the principal obstacle to fair evaluation is not model capability but the reliability of binary-to-source alignment under compiler optimization. This paper presents Reforge, a provenance-tracked pipeline that constructs function-level ground truth from C source through compilation, DWARF and syntactic extraction, alignment, and decompilation, and that operationalizes alignment uncertainty as an eight-gate confidence funnel with three-tier stratification. On a controlled micro-benchmark, high-confidence yield falls from 87.2% to 65.9% across optimization levels, and unpaired comparisons overstate optimization-induced performance decay through survivorship bias. A proof-of-concept evaluation of seven contemporary LLMs on function naming demonstrates the validity of the concept and generally motivates an uncertainty-aware benchmarking practice.
Figures
Reference graph
Works this paper leans on
-
[1]
Anthropic. (2025). Disrupting the first reported AI -orchestrated cyber espionage campaign [Threat intelligence report]. https://assets.anthropic.com/m/ec212e6566a0d47/original/Disrupting-the-first-reported-AI-orchestrated-cyber- espionage-campaign.pdf Benoit, T., Wang, Y., Dannehl, M., & Kinder, J. (2025). BLens: Contrastive captioning of binary function...
2025
-
[22]
4327–4343)
(pp. 4327–4343). Available at https://www.usenix.org/system/files/sec22-chen-qibin.pdf Dramko, L., Lacomis, J., Schwartz, E. J., Vasilescu, B., & Le Goues, C. ( 2024). A taxonomy of C decompiler fidelity issues. In 33rd USENIX Security Symposium (USENIX Security
2024
-
[24]
(pp. 379 –396). Available at https://www.usenix.org/system/files/usenixsecurity24-dramko.pdf Ghimire, A., Zhang, J., Lingala, S., Alsulami, F., & Amsaad, F. (2025). A survey on application of AI on reverse engineering for software analysis and security. IEEE Access. https://doi.org/10.1109/ACCESS.2025.3593456 Jiang, L., Jin, X., & Lin, Z. (2025). Beyond c...
arXiv 2025
-
[25]
J., Le Goues, C., Neubig, G., & Vasilescu, B
Available at https://www.usenix.org/system/files/usenixsecurity25-benoit.pdf Chen, Q., Lacomis, J., Schwartz, E. J., Le Goues, C., Neubig, G., & Vasilescu, B. (2022). Augmenting decompiler output with learned variable names and types. In 31st USENIX Security Symposium (USENIX Security
2022
-
[2021]
(pp. 48–57). https://doi.org/10.18653/v1/2021.nlp4prog-1.6 Shang, X., Chen, G., Cheng, S., Wu, B., Hu, L., & Li, G., Zhang, W., Yu, N. (2025). BinMetric: A comprehensive binary analysis benchmark for large language models. arXiv:2505.07360. https://doi.org/10.48550/arXiv.2505.07360 Soni, V., Dutcher, A., Bao, T., & Wang, R. (2025). Benchmarking binary typ...
discussion (0)
Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.