paperbot · PL 论文追踪

全部论文 待读 收藏

P2 DIRE: A Neural Approach to Decompiled Identifier Naming

DIRE:一种用于反编译标识符命名的神经方法
ASE 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)2019匹配度 3/10 · 论文属于机器学习与程序语言的交叉,但聚焦反编译变量名恢复,不涉及静态分析、Agentic/LLM 或浮点/贝叶斯程序分析。其神经概率方法与生成的语料虽有一定工程价值,但与用户核心研究方向(LLM/Agent 与静态分析/形式化验证交叉)匹配度低。引用 93 inbox
Jeremy Lacomis, Pengcheng Yin, Edward Schwartz, Miltiadis Allamanis, Claire Le Goues, Graham Neubig, Bogdan Vasilescu
crossref: 2026-09-12

AI 速览

一句话:提出 DIRE,用神经概率技术结合反编译所得词法与结构信息恢复变量名,最高 74.3% 与原源码一致。

反编译器是在缺少源码时分析二进制程序的常用工具,它能把二进制还原为高层代码,并重建编译过程中丢失的结构与类型信息,但却无法恢复语义上有意义的变量名,从而损害代码可理解性。本文提出 Decompiled Identifier Renaming Engine(DIRE),一种新的概率化变量名恢复技术,同时利用反编译器恢复出的词法信息与结构信息。为支撑训练与评测,作者还提出了一套自动构造语料的方法,并据此从 GitHub 上挖掘的 C 项目中生成了包含 164,632 个唯一 x86-64 二进制的语料库。实验表明,在该语料上 DIRE 预测的变量名与原始源码中名称完全一致的比例最高可达 74.3%。

问题
反编译工具能恢复程序结构与类型信息,却无法还原语义上有意义的变量名,导致反编译代码难以理解。
方法
提出 DIRE,一种结合反编译器恢复的词法特征与结构特征的神经概率模型来预测变量名,并给出从真实项目自动生成反编译命名训练/评测语料的流程。
评估
从 GitHub 的 C 项目构建含 164,632 个唯一 x86-64 二进制的语料库,在其中的评测上 DIRE 预测变量名与原始源码完全一致的比例最高达 74.3%。
原文摘要(Abstract)

The decompiler is one of the most common tools for examining binaries without corresponding source code. It transforms binaries into high-level code, reversing the compilation process. Decompilers can reconstruct much of the information that is lost during the compilation process (e.g., structure and type information). Unfortunately, they do not reconstruct semantically meaningful variable names, which are known to increase code understandability. We propose the Decompiled Identifier Renaming Engine (DIRE), a novel probabilistic technique for variable name recovery that uses both lexical and structural information recovered by the decompiler. We also present a technique for generating corpora suitable for training and evaluating models of decompiled code renaming, which we use to create a corpus of 164,632 unique x86-64 binaries generated from C projects mined from GitHub. Our results show that on this corpus DIRE can predict variable names identical to the names in the original source code up to 74.3% of the time.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5247,
  title = {DIRE: A Neural Approach to Decompiled Identifier Naming},
  author = {Jeremy Lacomis and Pengcheng Yin and Edward Schwartz and Miltiadis Allamanis and Claire Le Goues and Graham Neubig and Bogdan Vasilescu},
  booktitle = {ASE},
  year = {2019},
  doi = {10.1109/ase.2019.00064}
}