# Idioms：以明确定义的类型显著增强局部神经反编译的简单有效框架

> Idioms 微调代码语言模型，把单个目标函数的 Hex-Rays 输出转换为预测的原始 C 代码，并同时给出其中使用的用户自定义结构体、联合体和类型别名定义。输入可按调用图广度优先顺序附带相邻的反编译函数，使分散在调用者与被调用者中的类型线索能够提供给模型。作者还构建了 Realtype 数据集，包含来自已编译开源 C 仓库的 157,163 个函数及完整类型定义。其基于 CodeGemma-7b 的模型在 ExeBench 上有 54.4% 的函数通过单元测试，LLM4Decompile 为 46.3%，Nova 为 37.5%；在 Realtype 上的得分至少高出 95%。

- 作者：Luke Dramko; Claire Le Goues; Edward J. Schwartz
- 原标题：Idioms: A Simple and Effective Framework for Turbo-Charging Local Neural Decompilation with Well-Defined Types
- 发表载体：NDSS 2026
- 发表状态：会议论文
- 出版／提交日期：2026 年（具体日期未核实）
- 日期依据：NDSS 官方论文与 Internet Society 提交的 Crossref 元数据确认出版年份为 2026；不以 2 月 23—27 日的研讨会日期作为出版日。
- arXiv 首次提交：2025 年 2 月 6 日
- arXiv：2502.04536
- 已复核的 arXiv 版本：v2
- DOI：10.14722/ndss.2026.240795
- 来源复核于：2026-10-18
- 收录于：2026-10-19
- 原始论文：<https://www.ndss-symposium.org/ndss-paper/idioms-a-simple-and-effective-framework-for-turbo-charging-local-neural-decompilation-with-well-defined-types/>
- PDF：<https://www.ndss-symposium.org/wp-content/uploads/2026-f795-paper.pdf>
- 代码：<https://github.com/squaresLab/idioms>
- BibTeX：<https://awesomerea.org/papers/citations/paper-idioms.bib>
- 目录页面：<https://awesomerea.org/zh/papers/paper-idioms/>
- 记录 JSON：<https://awesomerea.org/papers/paper-idioms/record.json>
- 英文版：[English](https://awesomerea.org/papers/paper-idioms/index.md)

## 研究范围与局限

这是局部、函数级的神经反编译：每次预测只覆盖一个目标函数及其类型定义，而非可编译的完整程序。评测使用来自 GitHub 开源项目的 x86-64 Linux gcc 二进制及 ExeBench 的“real”子集；O1–O3 构建禁用内联，且只保留在所有优化级别均能反编译的函数，使 Hex-Rays 与 Ghidra 测试集分别减少 21% 和 76%。ExeBench 单元测试是偏乐观的代理指标；Realtype 没有测试，因此以依赖图等价性及名称、类型的完全匹配作为偏保守的代理指标，且 Realtype 的用户自定义类型须所有字段（递归计算平均 17.6 个）均匹配才算正确。主要模型使用专有 Hex-Rays 的输出，上下文窗口为 2,048 或 4,096 个词元。预测的名称与类型属于统计推断，并非恢复的原始信息。仍可能存在来自 GitHub 的预训练数据泄漏，且未评估混淆代码和恶意软件。

## 与本合集的关联

补充借助过程间上下文、同时预测代码与用户自定义类型定义的神经反编译方法，并提供类型丰富的基准，与从汇编生成源码的模型及类型、符号恢复研究互补。

## 发表与复核说明

NDSS 页面、最终 PDF 与 Crossref 的正式标题、三位作者顺序和 DOI 一致；Crossref 未列出页码。arXiv:2502.04536 的 v1（2025-02-06）题为《Idioms: Neural Decompilation With Joint Code and Type Prediction》，v2（2025-06-17）题为《Idioms: Neural Decompilation With Joint Code and Type Definition Prediction》；仓库 README 仍使用 v1 标题。论文链接 Zenodo 版本 DOI 10.5281/zenodo.15683630，README 则链接其概念 DOI 10.5281/zenodo.14797016；两者指向同一个 2025-06-17 发布的开放记录，约 11.8 GB，其中模型压缩包约 10.1 GB，Zenodo 元数据未注明许可证。2025-12-03 仓库快照没有许可证文件，GitHub 也未检测到许可证。其 env.yml 固定 Python 3.11、CUDA 12.1、transformers 4.46.3 与 peft 0.17.0；训练还需要在计算能力 7.0 及以上的 GPU 上使用 unsloth，构建数据集需在 Docker 中运行可能耗时数周的 GHCC 编译，主要反编译步骤需要 IDA Pro 的 Hex-Rays。ExeBench 测试在提供的 Docker 镜像中运行。

## 一手来源

1. <https://www.ndss-symposium.org/ndss-paper/idioms-a-simple-and-effective-framework-for-turbo-charging-local-neural-decompilation-with-well-defined-types/>
2. <https://www.ndss-symposium.org/wp-content/uploads/2026-f795-paper.pdf>
3. <https://api.crossref.org/works/10.14722/ndss.2026.240795>
4. <https://arxiv.org/abs/2502.04536v1>
5. <https://arxiv.org/abs/2502.04536v2>
6. <https://github.com/squaresLab/idioms/blob/d08791287545c6d4b1e0d5f79e28ae5e6542b493/README.md>
7. <https://github.com/squaresLab/idioms/blob/d08791287545c6d4b1e0d5f79e28ae5e6542b493/env.yml>
8. <https://zenodo.org/records/15683630>
9. <https://zenodo.org/api/records/15683630>

## 关于此条目

已依据论文及一手来源复核。请通过原始论文或 BibTeX 引用原作者。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
