# 基于结构感知检索与迭代验证将优化二进制提升为规范编译器 IR

> BRIDGE 将以 llvm-objdump 反汇编形式给出的、已剥离符号并经过优化的 x86-64 与 ARM64 函数提升为 LLVM IR，目标是固定 clang -O0 配置为原始源码生成的未优化 IR。离线阶段，它将 69,253 个 ExeBench 函数分别以 -O0 至 -O3 编译并构建检索数据库，借助 LLVM 伪探针插桩将汇编片段与对应的 -O0 IR 区域对齐。推理时，它把 angr 恢复的函数控制流图划分为循环、if–else 等控制流片段，从基于 Nova-1.3B 嵌入的 FAISS 索引中为每个片段检索三个最相近的已对齐汇编—IR 对，再提示托管的通用大语言模型（DeepSeek-chat）生成 IR。随后最多进行五轮修正，把 LLVM 校验器与编译器诊断信息以及单元测试失败结果反馈给模型。在以 Clang 19 按 -O0 至 -O3 编译的 HumanEval-Decompile 与 MBPP 上，其平均可重新执行率在 x86-64 上为 65.2% 和 65.4%，在 ARM64 上为 45.6% 和 42.1%。基于规则的 MCTOLL 在 x86-64 上为 62.1% 和 64.9%，五个直接提示的 API 大语言模型最高为 21.5%。

- 作者：Xiaoao Zhu; Jie Ren; Zhiqiang Li; Jie Zheng; Zhanyong Tang; Zheng Wang
- 原标题：Lifting Optimized Binaries to Canonical Compiler IR via Structure-Aware Retrieval and Iterative Verification
- 发表载体：ACL 2026
- 发表状态：会议论文
- 出版／提交日期：2026 年 7 月
- 日期依据：ACL Anthology 官方引文与 BibTeX 给出 2026 年 7 月。Crossref 仅记录年份；PDF 中印有的 7 月 2–7 日会议日期不作为具体出版日。
- DOI：10.18653/v1/2026.acl-long.527
- 来源复核于：2026-10-19
- 收录于：2026-10-28
- 原始论文：<https://aclanthology.org/2026.acl-long.527/>
- PDF：<https://aclanthology.org/2026.acl-long.527.pdf>
- 代码：<https://github.com/Azhu-c/BRIDGE-rag>
- BibTeX：<https://awesomerea.org/papers/citations/paper-bridge-lifting.bib>
- 目录页面：<https://awesomerea.org/zh/papers/paper-bridge-lifting/>
- 记录 JSON：<https://awesomerea.org/papers/paper-bridge-lifting/record.json>
- 英文版：[English](https://awesomerea.org/papers/paper-bridge-lifting/index.md)

## 研究范围与局限

评测在函数级别、针对短小的基准程序进行：HumanEval-Decompile 与 MBPP 子集，输入为 2 至 628 条汇编指令，由作者在 Linux 上使用单一 LLVM/Clang 19 工具链构建。“规范”指与一个固定的 clang -O0 配置输出一致，而非恢复原始源码。修正过程与可重新执行率指标都使用这些基准自带的单元测试；作者指出，实际逆向工程中很少有这类测试预言。在 x86-64 HumanEval-Decompile 上，改用大语言模型生成的测试时可重新执行率从 65.2% 降至 60.8%，不使用测试时降至 53.5%。输出在结构上仍与参考结果存在差异：平均编辑相似度低于 50%，该基准上控制流图完全匹配率为 25.9%。流水线调用托管的大语言模型 API，大语言模型基线同样如此；结果为五次运行的几何平均值，可能随托管模型变化而改变。作者认为 Forklift 与 LLM Compiler FTD 处理的是编译器生成的汇编文本，因此未将其列为基线；MCTOLL 仅在 x86-64 上参与比较。支持其他指令集需要重建检索数据库。BRIDGE 输出的是 LLVM IR 而非 C 源码，因此不是面向 C 的反编译器。代码仓库没有许可证。

## 与本合集的关联

补充借助检索引导、并以校验器与测试反馈修正的大语言模型方法，将优化后的机器码提升为编译器 IR，与 rev.ng 等基于规则的提升工具及本节中从汇编生成 C 的神经反编译论文互补。

## 发表与复核说明

ACL Anthology 页面与 BibTeX 列出第 64 届 ACL 年会论文集（第 1 卷：长文）、第 11498–11516 页、圣迭戈、由 ACL 出版，作者为顺序相同的六人；Crossref DOI 记录的标题、作者与页码一致，但只给出年份。arXiv 标题与关键词检索均未找到该论文，因此未列出 arXiv 标识符。§6.1 正文称 ARM64 HumanEval-Decompile 的平均可重新执行率为 42.1%，而表 1 列出该基准为 45.6%、ARM64 MBPP 为 42.1%；本条目以表格为准。PDF 的在线材料说明链接 Azhu-c/BRIDGE-rag。在 2026-07-06 提交中，仓库没有 LICENSE 文件，GitHub 也未识别出许可证。README 推荐 Python 3.10 并要求 DeepSeek API 密钥，大语言模型封装代码默认通过 OpenAI 兼容客户端调用 deepseek-chat 模型。requirements.txt 固定 openai 1.57.0、angr 9.2.162、torch 2.5.1 与 faiss-gpu 1.7.2。知识库配置要求在 ./data/exebench_samples 下提供 ExeBench 样本，并指定本地 Nova-1.3b 模型路径；二者都不在仓库中。Evaluation_datasets 包含两种指令集的 HumanEval-Decompile 与 MBPP 子集输入，以及 BRIDGE 和基线的输出；docs/ 中存有论文副本。

## 一手来源

1. <https://aclanthology.org/2026.acl-long.527/>
2. <https://aclanthology.org/2026.acl-long.527.bib>
3. <https://aclanthology.org/2026.acl-long.527.pdf>
4. <https://api.crossref.org/works/10.18653/v1/2026.acl-long.527>
5. <https://github.com/Azhu-c/BRIDGE-rag/tree/9add8abe0f15748cfae36395b07c6fc4e4ecc386>
6. <https://github.com/Azhu-c/BRIDGE-rag/blob/9add8abe0f15748cfae36395b07c6fc4e4ecc386/README.md>
7. <https://github.com/Azhu-c/BRIDGE-rag/blob/9add8abe0f15748cfae36395b07c6fc4e4ecc386/requirements.txt>
8. <https://github.com/Azhu-c/BRIDGE-rag/blob/9add8abe0f15748cfae36395b07c6fc4e4ecc386/default.env.example>
9. <https://github.com/Azhu-c/BRIDGE-rag/blob/9add8abe0f15748cfae36395b07c6fc4e4ecc386/configs/knowledge_base.yaml>
10. <https://github.com/Azhu-c/BRIDGE-rag/blob/9add8abe0f15748cfae36395b07c6fc4e4ecc386/src/llm/llm_api.py>
11. <https://github.com/Azhu-c/BRIDGE-rag/tree/9add8abe0f15748cfae36395b07c6fc4e4ecc386/Evaluation_datasets>

## 关于此条目

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