2024 · 会议论文

自构造上下文反编译与细粒度对齐增强

Self-Constructed Context Decompilation with Fined-grained Alignment Enhancement

为大语言模型将函数级 x86-64 GCC 汇编反编译为 C 的流程增加两项技术。自构造上下文反编译(sc²dec)无需微调:把模型首次生成且可编译的结果重新编译,以得到的汇编—源码对作为上下文示例再次反编译。细粒度对齐增强(FAE)利用 DWARF 调试信息构造语句级汇编—C 对齐数据,以 LoRA 微调 llm4decompile-6.7b。两者结合后,作者报告在 Decompile-Eval 上的平均可重执行率为 52.41%,基础模型为 48.60%。

研究范围与局限

结果为 Decompile-Eval 上的函数级可重执行率:164 道源自 HumanEval 的 C 题目,分别以 O0–O3 编译,并通过重新编译和 HumanEval 测试用例检查。通过这些测试不代表完整程序或全部输入上的等价性;论文也未评估真实二进制、其他架构或可读性。只有首次输出能够重新编译时 sc²dec 才有帮助,因此可重编译率低会限制其收益;作者报告以不匹配的优化级别构造上下文会使结果降低 1–2%,用 clang 构造的上下文得分也略低于 GCC。FAE 仅使用 10,000 个只依赖 C 标准库的 ExeBench 函数,训练一个轮次,且只基于一个 6.7B 基础模型;作者未在更大数据集或模型上验证,它还使 1-shot 结果略有下降。GPT-4 与 DeepSeek 基线是 API 快照,未必可复现。

与本合集的关联

为端到端大语言模型反编译补充重新编译反馈与调试信息对齐方法,与 LLM4Decompile 及基于执行检查的反编译基准互补。

发表与复核详情

发表载体
Findings of EMNLP 2024
发表状态
会议论文
出版/提交日期
2024 年 11 月
日期依据
ACL Anthology 官方引文给出 2024 年 11 月。Crossref 仅记录年份;PDF 中印有的 11 月 12–16 日会议日期不作为具体出版日。
arXiv 首次提交
2024 年 6 月 25 日
arXiv
2406.17233
已复核的 arXiv 版本
v2
DOI
10.18653/v1/2024.findings-emnlp.385

标题保留出版时的拼写“Fined-grained”。八位作者的顺序以 Anthology、PDF、Crossref 与 arXiv 为准。arXiv v2(2024-10-03)标注为 EMNLP 2024 Findings;v1 于 2024-06-25 提交。Anthology 与 Crossref 给出页码 6603–6614。摘要所称约 3.90% 的提升与表 1 中基础结果 48.60% 和 52.41% 之间 3.81 个百分点的差值不一致;本条目引用表中数值。在所审阅的 2025-02-18 提交中,仓库声明采用 MIT,但 LICENSE.txt 仍保留年份与版权人的模板占位符。仓库提供评估脚本和 GCC 版 Decompile-Eval 数据,并链接 Hugging Face 上基于 LLM4Binary/llm4decompile-6.7b-v1.5 的 LoRA 适配器与训练数据集,两者均标为 MIT;基础模型与 ExeBench 保留各自条款。README 的结果表另加入可读性分数和作者后续的 ReF Decompile,其中仅用 FAE 的平均值与论文略有不同(51.07% 对 50.88%)。评估器使用本地 gcc 与 objdump;指定 --compiler 时会把代码发送到公共 Compiler Explorer API。本次未下载权重或数据集,也未运行代码或实验。

来源复核于

本合集仅做来源复核,未重新运行论文实验。请通过原始论文或 BibTeX 引用原作者。

一手来源

  1. https://aclanthology.org/2024.findings-emnlp.385/
  2. https://aclanthology.org/2024.findings-emnlp.385.pdf
  3. https://aclanthology.org/2024.findings-emnlp.385.bib
  4. https://api.crossref.org/works/10.18653/v1/2024.findings-emnlp.385
  5. https://arxiv.org/abs/2406.17233
  6. README.md GitHub · AlongWY/sccdec · 修订 22745ea
  7. LICENSE.txt GitHub · AlongWY/sccdec · 修订 22745ea
  8. pyproject.toml GitHub · AlongWY/sccdec · 修订 22745ea
  9. src/sccdec/eval.py GitHub · AlongWY/sccdec · 修订 22745ea
  10. https://huggingface.co/ylfeng/sccdec-lora
  11. https://huggingface.co/datasets/ylfeng/sccdec-dataset