DIRE: A Neural Approach to Decompiled Identifier Naming
Not on the map. Why?
Abstract (arXiv)
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.
Key facts. Cited by 36 papers in the map (data through 7 Oct 2026). First posted on arXiv 19 Sep 2019.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 6; 2022: 2; 2023: 8; 2024: 7; 2025: 7; 2026: 6.
36 papers.
Sort:
By area:
- 2021DOBF: A Deobfuscation Pre-Training Objective for Programming Languagescited by 68
- 2024LLM4Vuln: A Unified Evaluation Framework for Decoupling and Enhancing LLMs' Vulnerability Reasoningcited by 57
- 2024LLM4Decompile: Decompiling Binary Code with Large Language Modelscited by 38
- 2023SLaDe: A Portable Small Language Model Decompiler for Optimized Assemblycited by 28
- 2023Extending Source Code Pre-Trained Language Models to Summarise Decompiled Binariescited by 25
- 2024CLAP: Learning Transferable Binary Code Representations with Natural Language Supervisioncited by 17
- 2023Nova: Generative Language Models for Assembly Code with Hierarchical Attention and Contrastive Learningcited by 12
- 2024Assemblage: Automatic Binary Dataset Construction for Machine Learningcited by 12
- 2021VarCLR: Variable Semantic Representation Pre-training via Contrastive Learningcited by 11
- 2023Boosting Neural Networks to Decompile Optimized Binariescited by 11
- 2024Source Code Foundation Models are Transferable Binary Analysis Knowledge Basescited by 8
- 2021Variable Name Recovery in Decompiled Binary Code using Constrained Masked Language Modelingcited by 7
24 more
- 2022Pre-Training Representations of Binary Code Using Contrastive Learningcited by 6
- 2021XFL: Naming Functions in Binaries with Extreme Multi-label Learningcited by 5
- 2023Exploring the Limits of ChatGPT in Software Security Applicationscited by 5
- 2025ObscuraCoder: Powering Efficient Code LM Pre-Training Via Obfuscation Groundingcited by 4
- 2021Self-Supervised Learning to Prove Equivalence Between Straight-Line Programs via Rewrite Rulescited by 3
- 2022A Survey on Artificial Intelligence for Source Code: A Dialogue Systems Perspectivecited by 3
- 2024Self-Constructed Context Decompilation with Fined-grained Alignment Enhancementcited by 3
- 2024BLens: Contrastive Captioning of Binary Functions using Ensemble Embeddingcited by 3
- 2021Proving Equivalence Between Complex Expressions Using Graph-to-Sequence Neural Modelscited by 2
- 2025Fast, Fine-Grained Equivalence Checking for Neural Decompilerscited by 2
- 2023Revisiting Deep Learning for Variable Type Recoverycited by 1
- 2025BuildBench: Benchmarking LLM Agents on Compiling Real-World Open-Source Softwarecited by 1
- 2025AGNOMIN -- Architecture Agnostic Multi-Label Function Name Predictioncited by 1
- 2025Context-Guided Decompilation: A Step Towards Re-executabilitycited by 1
- 2026REBENCH: A Procedural, Fair-by-Construction Benchmark for LLMs on Stripped-Binary Types and Names (Extended Version)cited by 1
- 2026Decaf: Improving Neural Decompilation with Automatic Feedback and Searchcited by 1
- 2023Epicure: Distilling Sequence Model Predictions into Patternscited by 0
- 2023STraceBERT: Source Code Retrieval using Semantic Application Tracescited by 0
- 2025Asm2SrcEval: Evaluating Large Language Models for Assembly-to-Source Code Translationcited by 0
- 2025Neural Variable Name Repair: Learning to Rename Identifiers for Readabilitycited by 0
- 2026PCodeTrans: Translate Decompiled Pseudocode to Compilable and Executable Equivalentcited by 0
- 2026Constraint-Guided Multi-Agent Decompilation for Executable Binary Recoverycited by 0
- 2026SoK: AI-Augmented Binary Reversingcited by 0
- 2026When LLM Decompilers Recompile More and Preserve Lesscited by 0
- 2026When LLM Decompilers Recompile More and Preserve Less4 Sep 2026
- 2026SoK: AI-Augmented Binary Reversing16 Jun 2026
- 2026Decaf: Improving Neural Decompilation with Automatic Feedback and Search12 May 2026
- 2026REBENCH: A Procedural, Fair-by-Construction Benchmark for LLMs on Stripped-Binary Types and Names (Extended Version)30 Apr 2026
- 2026Constraint-Guided Multi-Agent Decompilation for Executable Binary Recovery27 Apr 2026
- 2026PCodeTrans: Translate Decompiled Pseudocode to Compilable and Executable Equivalent16 Mar 2026
- 2025Neural Variable Name Repair: Learning to Rename Identifiers for Readability30 Nov 2025
- 2025Asm2SrcEval: Evaluating Large Language Models for Assembly-to-Source Code Translation28 Nov 2025
- 2025Context-Guided Decompilation: A Step Towards Re-executability3 Nov 2025
- 2025AGNOMIN -- Architecture Agnostic Multi-Label Function Name Prediction29 Sep 2025
- 2025BuildBench: Benchmarking LLM Agents on Compiling Real-World Open-Source Software27 Sep 2025
- 2025ObscuraCoder: Powering Efficient Code LM Pre-Training Via Obfuscation Grounding27 Mar 2025
24 more
- 2025Fast, Fine-Grained Equivalence Checking for Neural Decompilers8 Jan 2025
- 2024BLens: Contrastive Captioning of Binary Functions using Ensemble Embedding12 Sep 2024
- 2024Self-Constructed Context Decompilation with Fined-grained Alignment Enhancement25 Jun 2024
- 2024Source Code Foundation Models are Transferable Binary Analysis Knowledge Bases30 May 2024
- 2024Assemblage: Automatic Binary Dataset Construction for Machine Learning7 May 2024
- 2024LLM4Decompile: Decompiling Binary Code with Large Language Models8 Mar 2024
- 2024CLAP: Learning Transferable Binary Code Representations with Natural Language Supervision26 Feb 2024
- 2024LLM4Vuln: A Unified Evaluation Framework for Decoupling and Enhancing LLMs' Vulnerability Reasoning29 Jan 2024
- 2023Exploring the Limits of ChatGPT in Software Security Applications8 Dec 2023
- 2023STraceBERT: Source Code Retrieval using Semantic Application Traces7 Dec 2023
- 2023Nova: Generative Language Models for Assembly Code with Hierarchical Attention and Contrastive Learning22 Nov 2023
- 2023Epicure: Distilling Sequence Model Predictions into Patterns16 Aug 2023
- 2023SLaDe: A Portable Small Language Model Decompiler for Optimized Assembly21 May 2023
- 2023Revisiting Deep Learning for Variable Type Recovery7 Apr 2023
- 2023Extending Source Code Pre-Trained Language Models to Summarise Decompiled Binaries4 Jan 2023
- 2023Boosting Neural Networks to Decompile Optimized Binaries3 Jan 2023
- 2022Pre-Training Representations of Binary Code Using Contrastive Learning11 Oct 2022
- 2022A Survey on Artificial Intelligence for Source Code: A Dialogue Systems Perspective10 Feb 2022
- 2021VarCLR: Variable Semantic Representation Pre-training via Contrastive Learning5 Dec 2021
- 2021Self-Supervised Learning to Prove Equivalence Between Straight-Line Programs via Rewrite Rules22 Sep 2021
- 2021XFL: Naming Functions in Binaries with Extreme Multi-label Learning28 Jul 2021
- 2021Proving Equivalence Between Complex Expressions Using Graph-to-Sequence Neural Models1 Jun 2021
- 2021Variable Name Recovery in Decompiled Binary Code using Constrained Masked Language Modeling23 Mar 2021
- 2021DOBF: A Deobfuscation Pre-Training Objective for Programming Languages15 Feb 2021
- 2021DOBF: A Deobfuscation Pre-Training Objective for Programming Languagescited by 68
- 2024LLM4Decompile: Decompiling Binary Code with Large Language Modelscited by 38
- 2023SLaDe: A Portable Small Language Model Decompiler for Optimized Assemblycited by 28
- 2023Extending Source Code Pre-Trained Language Models to Summarise Decompiled Binariescited by 25
- 2024CLAP: Learning Transferable Binary Code Representations with Natural Language Supervisioncited by 17
- 2023Nova: Generative Language Models for Assembly Code with Hierarchical Attention and Contrastive Learningcited by 12
- 2024Assemblage: Automatic Binary Dataset Construction for Machine Learningcited by 12
- 2021VarCLR: Variable Semantic Representation Pre-training via Contrastive Learningcited by 11
- 2023Boosting Neural Networks to Decompile Optimized Binariescited by 11
- 2024Source Code Foundation Models are Transferable Binary Analysis Knowledge Basescited by 8
- 2021Variable Name Recovery in Decompiled Binary Code using Constrained Masked Language Modelingcited by 7
- 2022Pre-Training Representations of Binary Code Using Contrastive Learningcited by 6
12 most cited of 33 All 33 (JSON)
- 2026When LLM Decompilers Recompile More and Preserve Less4 Sep 2026
- 2026SoK: AI-Augmented Binary Reversing16 Jun 2026
- 2026Decaf: Improving Neural Decompilation with Automatic Feedback and Search12 May 2026
- 2026REBENCH: A Procedural, Fair-by-Construction Benchmark for LLMs on Stripped-Binary Types and Names (Extended Version)30 Apr 2026
- 2026PCodeTrans: Translate Decompiled Pseudocode to Compilable and Executable Equivalent16 Mar 2026
- 2025Neural Variable Name Repair: Learning to Rename Identifiers for Readability30 Nov 2025
- 2025Asm2SrcEval: Evaluating Large Language Models for Assembly-to-Source Code Translation28 Nov 2025
- 2025Context-Guided Decompilation: A Step Towards Re-executability3 Nov 2025
- 2025AGNOMIN -- Architecture Agnostic Multi-Label Function Name Prediction29 Sep 2025
- 2025ObscuraCoder: Powering Efficient Code LM Pre-Training Via Obfuscation Grounding27 Mar 2025
- 2025Fast, Fine-Grained Equivalence Checking for Neural Decompilers8 Jan 2025
- 2024BLens: Contrastive Captioning of Binary Functions using Ensemble Embedding12 Sep 2024
12 newest of 33 All 33 (JSON)