{
  "added_at": "2026-10-19",
  "arxiv_id": "2306.02546",
  "arxiv_version_reviewed": "v4",
  "authors": [
    "Xiangzhe Xu",
    "Zhuo Zhang",
    "Zian Su",
    "Ziyang Huang",
    "Shiwei Feng",
    "Yapeng Ye",
    "Nan Jiang",
    "Danning Xie",
    "Siyuan Cheng",
    "Lin Tan",
    "Xiangyu Zhang"
  ],
  "bibtex_url": "https://awesomerea.org/papers/citations/paper-gennm.bib",
  "code_url": "https://github.com/XZ-X/gennm-ndss-ae/tree/9955139b4c8d43144852a674bf317cbfaf32ed17",
  "date_basis": "The official NDSS paper and the publisher’s Crossref deposit establish publication year 2025. The conference dates and the arXiv versions do not establish a publication day.",
  "date_basis_zh": "NDSS 官方论文与出版方提交的 Crossref 元数据确认出版年份为 2025；会议日期与各 arXiv 版本日期不能据此推定具体出版日。",
  "date_precision": "year",
  "description_en": "GenNm suggests names for placeholder variables in decompiled code of stripped binaries by fine-tuning generative code models (CodeGemma-2B by default; CodeLlama-7B and a LoRA-tuned CodeLlama-34B are also tested). Queries add renamed caller code and callee signatures propagated along the call graph; a DPO-style symbol-preference optimization (SymPO) counters bias toward frequent training names, and a data-flow name-validation step chooses among candidates over iterative rounds. The authors report 5.6–11.4-point precision gains over VarBERT and ReSym on rebuilt DIRTY and VarCorpus datasets, and 22.8% precision on names unseen in training against 17.3% for the strongest baseline.",
  "description_zh": "GenNm 通过微调生成式代码模型（默认 CodeGemma-2B，另测试 CodeLlama-7B 及经 LoRA 微调的 CodeLlama-34B），为剥离符号二进制反编译代码中的占位变量建议名称。查询会加入沿调用图传播、已重命名的调用者代码与被调用者签名；类 DPO 的符号偏好优化（SymPO）抑制模型偏向训练集中高频名称，基于数据流的名称验证步骤则在多轮迭代中从候选名称里选择。作者报告，在重建的 DIRTY 与 VarCorpus 数据集上，其精确率比 VarBERT 和 ReSym 高 5.6–11.4 个百分点；对训练中未出现的名称，精确率为 22.8%，最强基线为 17.3%。",
  "doi": "10.14722/ndss.2025.240276",
  "entry_url": "https://awesomerea.org/papers/paper-gennm/",
  "entry_url_zh": "https://awesomerea.org/zh/papers/paper-gennm/",
  "evidence_urls": [
    "https://www.ndss-symposium.org/ndss-paper/unleashing-the-power-of-generative-model-in-recovering-variable-names-from-stripped-binary/",
    "https://www.ndss-symposium.org/wp-content/uploads/2025-276-paper.pdf",
    "https://api.crossref.org/works/10.14722/ndss.2025.240276",
    "https://arxiv.org/abs/2306.02546v1",
    "https://arxiv.org/abs/2306.02546v2",
    "https://arxiv.org/abs/2306.02546v4",
    "https://github.com/XZ-X/gennm-ndss-ae/blob/9955139b4c8d43144852a674bf317cbfaf32ed17/README.md",
    "https://github.com/XZ-X/gennm-ndss-ae/blob/9955139b4c8d43144852a674bf317cbfaf32ed17/LICENSE",
    "https://github.com/XZ-X/gennm-ndss-ae/blob/9955139b4c8d43144852a674bf317cbfaf32ed17/requirements.txt",
    "https://zenodo.org/api/records/14220042",
    "https://zenodo.org/api/records/14287032"
  ],
  "first_arxiv_date": "2023-06-05",
  "id": "paper-gennm",
  "json_url": "https://awesomerea.org/papers/paper-gennm/record.json",
  "kind": "research",
  "markdown_url": "https://awesomerea.org/papers/paper-gennm/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/papers/paper-gennm/index.md",
  "metadata_notes": "The record uses the NDSS title and the 11 authors in the NDSS paper's order, which match Crossref; Crossref gives year 2025 without pages. The arXiv record has carried three titles. v1 of 2023-06-05, 'LmPa: Improving Decompilation by Synergy of Large Language Model and Program Analysis', listed nine authors, without Ziyang Huang and Danning Xie; its title framed the work as improving decompilation in general, although its abstract already targeted variable-name recovery. v2 of 2024-05-01 was 'Leveraging Generative Models to Recover Variable Names from Stripped Binary'. v3 of 2024-07-20 and v4 of 2024-12-09, with the 11 NDSS authors, are 'Symbol Preference Aware Generative Models for Recovering Variable Names from Stripped Binary'; the NDSS paper defers implementation details to this extended version. The paper cites the artifact as Zenodo 10.5281/zenodo.14220042, a v1.0 code snapshot under concept DOI 10.5281/zenodo.14220041 as in the README badge. The reviewed 2026-01-29 repository commit is MIT-licensed, and Zenodo record 14287032 holds a 9.8 GB CC-BY-4.0 data package with intermediate results and model checkpoints. The README asks for Ubuntu 20.04+, Python 3.10 with vllm 0.5.3.post1, at least 24 GB of GPU memory for inference and 96 GB for training.",
  "metadata_notes_zh": "本条目采用 NDSS 标题，并按 NDSS 论文顺序列出 11 位作者，与 Crossref 一致；Crossref 仅给出 2025 年，未列页码。arXiv 记录先后使用过三个标题。2023-06-05 的 v1 题为“LmPa: Improving Decompilation by Synergy of Large Language Model and Program Analysis”，列出九位作者，不含 Ziyang Huang 与 Danning Xie；该标题将工作表述为泛化的反编译改进，但其摘要已聚焦变量名恢复。2024-05-01 的 v2 题为“Leveraging Generative Models to Recover Variable Names from Stripped Binary”。2024-07-20 的 v3 与 2024-12-09 的 v4 列出 NDSS 的 11 位作者，题为“Symbol Preference Aware Generative Models for Recovering Variable Names from Stripped Binary”；NDSS 论文将实现细节留给这一扩展版本。论文将产物引用为 Zenodo 10.5281/zenodo.14220042，即概念 DOI 10.5281/zenodo.14220041（与 README 徽章一致）下的 v1.0 代码快照。所审阅的 2026-01-29 仓库提交采用 MIT 许可，Zenodo 记录 14287032 提供 9.8 GB、采用 CC-BY-4.0 的数据包，内含中间结果与模型检查点。README 要求 Ubuntu 20.04+、带 vllm 0.5.3.post1 的 Python 3.10，推理至少需要 24 GB 显存，训练建议 96 GB。",
  "pdf_url": "https://www.ndss-symposium.org/wp-content/uploads/2025-276-paper.pdf",
  "project_url": null,
  "publication_date": null,
  "publication_status": "conference-paper",
  "record_type": "paper",
  "runtime_tested": false,
  "scope_limitations_en": "Predictions are scored against debug-symbol names by token matching with SymLM's word clusters and rules, plus a GPT-4 evaluator for context relevance and semantic accuracy; neither shows that outputs are the original identifiers, and overall split-by-binary precision is 35.8% (DIRTY) and 41.2% (VarCorpus). Precision is about 30% for projects unseen in training, and gains are smaller at -O2 and -O3. Ground truth comes from debug information in Linux binaries rebuilt from GitHub projects or Gentoo packages, with IDA Pro output in the paper's examples. GenNm needs each binary's call graph, which is why the DIRTY dataset was rebuilt; split-by-function VarCorpus results use a 15% binary sample, and the black-box GPT-3.5/GPT-4 comparison uses 1,000 sampled functions. It recovers variable names only, not types, function names or full decompiled code.",
  "scope_limitations_zh": "预测结果依据调试符号中的名称评分：一方面借助 SymLM 的词簇与规则进行词元匹配，另一方面由 GPT-4 评估器判断上下文相关性与语义准确性；两者都不能说明输出就是原始标识符，按二进制划分时整体精确率为 35.8%（DIRTY）和 41.2%（VarCorpus）。对训练中未出现的项目，精确率约为 30%，在 -O2 与 -O3 下的提升也较小。真实标签来自由 GitHub 项目或 Gentoo 软件包重建的 Linux 二进制文件中的调试信息，论文示例使用 IDA Pro 输出。GenNm 需要每个二进制的调用图，这也是重建 DIRTY 数据集的原因；VarCorpus 按函数划分的结果只使用 15% 的二进制样本，与黑盒 GPT-3.5／GPT-4 的比较使用 1,000 个抽样函数。它只恢复变量名，不恢复类型、函数名或完整的反编译代码。",
  "targets": [
    "binary"
  ],
  "title": "Unleashing the Power of Generative Model in Recovering Variable Names from Stripped Binary",
  "title_zh": "释放生成式模型在剥离符号二进制变量名恢复中的能力",
  "url": "https://www.ndss-symposium.org/ndss-paper/unleashing-the-power-of-generative-model-in-recovering-variable-names-from-stripped-binary/",
  "venue": "NDSS 2025",
  "verification": "source-reviewed",
  "verified_at": "2026-10-18",
  "why_fits_en": "Adds generative, call-graph-aware variable-name recovery with explicit treatment of name-frequency bias, extending the learned-naming line of work in this section.",
  "why_fits_zh": "补充结合调用图上下文、并专门处理名称频率偏差的生成式变量名恢复方法，延续了本节的学习式命名研究。",
  "year": 2025
}
