DOBF: A Deobfuscation Pre-Training Objective for Programming Languages
Not on the map. Why?
Abstract (arXiv)
Recent advances in self-supervised learning have dramatically improved the state of the art on a wide variety of tasks. However, research in language model pre-training has mostly focused on natural languages, and it is unclear whether models like BERT and its variants provide the best pre-training when applied to other modalities, such as source code. In this paper, we introduce a new pre-training objective, DOBF, that leverages the structural aspect of programming languages and pre-trains a model to recover the original version of obfuscated source code. We show that models pre-trained with DOBF significantly outperform existing approaches on multiple downstream tasks, providing relative improvements of up to 13% in unsupervised code translation, and 24% in natural language code search. Incidentally, we found that our pre-trained model is able to de-obfuscate fully obfuscated source files, and to suggest descriptive variable names.
Key facts. Cited by 68 papers in the map (data through 7 Oct 2026). Builds on 40 of its 62 references that are in the map. First posted on arXiv 15 Feb 2021.
Builds on
40 of 62 references.
References · 40
- 2017Attention Is All You Needcited by 59,932
- 2018BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingcited by 40,204
- 2014Adam: A Method for Stochastic Optimizationcited by 36,960
- 2019PyTorch: An Imperative Style, High-Performance Deep Learning Librarycited by 20,160
- 2019RoBERTa: A Robustly Optimized BERT Pretraining Approachcited by 13,266
- 2019BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehensioncited by 5,874
- 2019XLNet: Generalized Autoregressive Pretraining for Language Understandingcited by 2,801
- 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
- 2019Cross-lingual Language Model Pretrainingcited by 1,088
- 2019SpanBERT: Improving Pre-training by Representing and Predicting Spanscited by 832
- 2021CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generationcited by 732
- 2019Unified Language Model Pre-training for Natural Language Understanding and Generationcited by 668
28 more
- 2020GraphCodeBERT: Pre-training Code Representations with Data Flowcited by 600
- 2019MASS: Masked Sequence to Sequence Pre-training for Language Generationcited by 345
- 2019ERNIE: Enhanced Representation through Knowledge Integrationcited by 301
- 2017Unsupervised Machine Translation Using Monolingual Corpora Onlycited by 272
- 2020Unsupervised Translation of Programming Languagescited by 262
- 2018code2vec: Learning Distributed Representations of Codecited by 249
- 2017Learning to Represent Programs with Graphscited by 219
- 2018code2seq: Generating Sequences from Structured Representations of Codecited by 177
- 2018SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repaircited by 144
- 2018Phrase-Based & Neural Unsupervised Machine Translationcited by 138
- 2018The Adverse Effects of Code Duplication in Machine Learning Models of Codecited by 123
- 2018An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translationcited by 106
- 2018Tree-to-tree Neural Networks for Program Translationcited by 93
- 2016A Convolutional Attention Network for Extreme Summarization of Source Codecited by 90
- 2020Contrastive Code Representation Learningcited by 76
- 2020Code Prediction by Feeding Trees to Transformerscited by 70
- 2020Detecting Code Clones with Graph Neural Networkand Flow-Augmented Abstract Syntax Treecited by 68
- 2017Code Completion with Neural Attention and Pointer Networkscited by 49
- 2019When Deep Learning Met Code Searchcited by 45
- 2020Fast and Memory-Efficient Neural Code Completioncited by 38
- 2019DIRE: A Neural Approach to Decompiled Identifier Namingcited by 36
- 2014Learning Natural Coding Conventionscited by 28
- 2018A General Path-Based Representation for Predicting Program Propertiescited by 28
- 2019Learning to Fix Build Errors with Graph2Diff Neural Networkscited by 26
- 2017Dynamic Neural Program Embedding for Program Repaircited by 23
- 2019A Self-Attentional Neural Architecture for Code Completion with Multi-Task Learningcited by 18
- 2018Context2Name: A Deep Learning-Based Approach to Infer Natural Variable Names from Usage Contextscited by 11
- 2020Industry-scale IR-based Bug Localization: A Perspective from Facebookcited by 5
Built on by
Citing papers per year: 2021: 7; 2022: 16; 2023: 23; 2024: 12; 2025: 7; 2026: 3.
68 papers.
Sort:
By area:
- 2023Code Llama: Open Foundation Models for Codecited by 2,105
- 2021CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generationcited by 890
- 2022InCoder: A Generative Model for Code Infilling and Synthesiscited by 492
- 2023Large Language Models for Software Engineering: A Systematic Literature Reviewcited by 389
- 2022The Stack: 3 TB of permissively licensed source codecited by 354
- 2022Efficient Training of Language Models to Fill in the Middlecited by 248
- 2023SantaCoder: don't reach for the stars!cited by 169
- 2022Natural Language to Code Translation with Executioncited by 122
- 2021Leveraging Automated Unit Tests for Unsupervised Code Translationcited by 82
- 2021AVATAR: A Parallel Corpus for Java-Python Program Translationcited by 59
- 2022NatGen: Generative pre-training by "Naturalizing" source codecited by 53
- 2022VulBERTa: Simplified Source Code Pre-Training for Vulnerability Detectioncited by 51
38 more
- 2022CodeAttack: Code-Based Adversarial Attacks for Pre-trained Programming Language Modelscited by 48
- 2023LILO: Learning Interpretable Libraries by Compressing and Documenting Codecited by 46
- 2022Code Translation with Compiler Representationscited by 42
- 2024LLM4Decompile: Decompiling Binary Code with Large Language Modelscited by 38
- 2022StructCoder: Structure-Aware Transformer for Code Generationcited by 33
- 2023Measuring The Impact Of Programming Language Distributioncited by 32
- 2024AST-T5: Structure-Aware Pretraining for Code Generation and Understandingcited by 32
- 2024Code Representation Learning At Scalecited by 26
- 2021Unsupervised Neural Machine Translation with Generative Language Models Onlycited by 24
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkitcited by 22
- 2023CoTran: An LLM-based Code Translator using Reinforcement Learning with Feedback from Compiler and Symbolic Executioncited by 21
- 2022Deep Learning Meets Software Engineering: A Survey on Pre-Trained Models of Source Codecited by 20
- 2021Towards Learning (Dis)-Similarity of Source Code from Program Contrastscited by 17
- 2024InterTrans: Leveraging Transitive Intermediate Translations to Enhance LLM-based Code Translationcited by 15
- 2023A systematic literature review on source code similarity measurement and clone detection: techniques, applications, and challengescited by 14
- 2022A Survey on Pretrained Language Models for Neural Code Intelligencecited by 13
- 2022Summarize and Generate to Back-translate: Unsupervised Translation of Programming Languagescited by 12
- 2023Explain-then-Translate: An Analysis on Improving Program Translation with Self-generated Explanationscited by 12
- 2023Program Translation via Code Distillationcited by 10
- 2023CodeBPE: Investigating Subtokenization Options for Large Language Model Pretraining on Source Codecited by 9
- 2023Exploiting Code Symmetries for Learning Program Semanticscited by 9
- 2023Data Augmentation for Code Translation with Comparable Corpora and Multiple Referencescited by 9
- 2024Output Format Biases in the Evaluation of Large Language Models for Code Translationcited by 9
- 2021SYNFIX: Automatically Fixing Syntax Errors using Compiler Diagnosticscited by 8
- 2021Reading StackOverflow Encourages Cheating: Adding Question Text Improves Extractive Code Generationcited by 8
- 2023Syntax and Domain Aware Model for Unsupervised Program Translationcited by 7
- 2024TransAgent: Enhancing LLM-Based Code Translation via Fine-Grained Execution Alignmentcited by 7
- 2022On The Cross-Modal Transfer from Natural Language to Code through Adapter Modulescited by 6
- 2022Parameter-Efficient Finetuning of Transformers for Source Codecited by 6
- 2024Is Next Token Prediction Sufficient for GPT? Exploration on Code Logic Comprehensioncited by 6
- 2023Make Prompt-based Black-Box Tuning Colorful: Boosting Model Generalization from Three Orthogonal Perspectivescited by 5
- 2024Building A Coding Assistant via the Retrieval-Augmented Language Modelcited by 5
- 2024A Study on Training and Developing Large Language Models for Behavior Tree Generationcited by 4
- 2024A Joint Learning Model with Variational Interaction for Multilingual Program Translationcited by 4
- 2025ObscuraCoder: Powering Efficient Code LM Pre-Training Via Obfuscation Groundingcited by 4
- 2022AdaptivePaste: Code Adaptation through Learning Semantics-aware Variable Usage Representationscited by 3
- 2023Neural Machine Translation for Code Generationcited by 3
- 2023Automatically Testing Functional Properties of Code Translation Modelscited by 3
50 most cited of 68 All 68 (JSON)
- 2026Analyzing Chain of Thought (CoT) Approaches in Control Flow Code Deobfuscation Tasks16 Apr 2026
- 2026Revisiting the Role of Natural Language Code Comments in Code Translation23 Jan 2026
- 2026The New Compiler Stack: A Survey on the Synergy of LLMs and Compilers5 Jan 2026
- 2025Automated Snippet-Alignment Data Augmentation for Code Translation16 Oct 2025
- 2025Learning Bug Context for PyTorch-to-JAX Translation with LLMs10 Oct 2025
- 2025On The Role of Pretrained Language Models in General-Purpose Text Embeddings: A Survey28 Jul 2025
- 2025A Benchmark Dataset for Graph Regression with Homogeneous and Multi-Relational Variants29 May 2025
- 2025Deconstructing Obfuscation: A four-dimensional framework for evaluating Large Language Models assembly code deobfuscation capabilities26 May 2025
- 2025ObscuraCoder: Powering Efficient Code LM Pre-Training Via Obfuscation Grounding27 Mar 2025
- 2025LLM-Aided Customizable Profiling of Code Data Based On Programming Language Concepts19 Mar 2025
- 2024InterTrans: Leveraging Transitive Intermediate Translations to Enhance LLM-based Code Translation1 Nov 2024
- 2024Building A Coding Assistant via the Retrieval-Augmented Language Model21 Oct 2024
38 more
- 2024TransAgent: Enhancing LLM-Based Code Translation via Fine-Grained Execution Alignment30 Sep 2024
- 2024A Joint Learning Model with Variational Interaction for Multilingual Program Translation25 Aug 2024
- 2024Scaling Automatic Extraction of Pseudocode7 Jun 2024
- 2024Is Next Token Prediction Sufficient for GPT? Exploration on Code Logic Comprehension13 Apr 2024
- 2024Output Format Biases in the Evaluation of Large Language Models for Code Translation25 Mar 2024
- 2024LLM4Decompile: Decompiling Binary Code with Large Language Models8 Mar 2024
- 2024Code Representation Learning At Scale2 Feb 2024
- 2024Structured Code Representations Enable Data-Efficient Adaptation of Code Language Models19 Jan 2024
- 2024A Study on Training and Developing Large Language Models for Behavior Tree Generation16 Jan 2024
- 2024AST-T5: Structure-Aware Pretraining for Code Generation and Understanding5 Jan 2024
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkit30 Dec 2023
- 2023AdaCCD: Adaptive Semantic Contrasts Discovery Based Cross Lingual Adaptation for Code Clone Detection13 Nov 2023
- 2023Explain-then-Translate: An Analysis on Improving Program Translation with Self-generated Explanations13 Nov 2023
- 2023Data Augmentation for Code Translation with Comparable Corpora and Multiple References1 Nov 2023
- 2023LILO: Learning Interpretable Libraries by Compressing and Documenting Code30 Oct 2023
- 2023SUT: Active Defects Probing for Transcompiler Models22 Oct 2023
- 2023Program Translation via Code Distillation17 Oct 2023
- 2023Automatically Testing Functional Properties of Code Translation Models7 Sep 2023
- 2023Code Llama: Open Foundation Models for Code24 Aug 2023
- 2023Large Language Models for Software Engineering: A Systematic Literature Review21 Aug 2023
- 2023Exploiting Code Symmetries for Learning Program Semantics7 Aug 2023
- 2023CodeBPE: Investigating Subtokenization Options for Large Language Model Pretraining on Source Code1 Aug 2023
- 2023An Exploratory Literature Study on Sharing and Energy Use of Language Models for Source Code5 Jul 2023
- 2023A systematic literature review on source code similarity measurement and clone detection: techniques, applications, and challenges28 Jun 2023
- 2023CoTran: An LLM-based Code Translator using Reinforcement Learning with Feedback from Compiler and Symbolic Execution11 Jun 2023
- 2023A Comprehensive Review of State-of-The-Art Methods for Java Code Generation from Natural Language Text10 Jun 2023
- 2023Coarse-Tuning Models of Code with Reinforcement Learning Feedback25 May 2023
- 2023Neural Machine Translation for Code Generation22 May 2023
- 2023Make Prompt-based Black-Box Tuning Colorful: Boosting Model Generalization from Three Orthogonal Perspectives14 May 2023
- 2023ADELT: Transpilation Between Deep Learning Frameworks7 Mar 2023
- 2023Syntax and Domain Aware Model for Unsupervised Program Translation8 Feb 2023
- 2023Measuring The Impact Of Programming Language Distribution3 Feb 2023
- 2023SantaCoder: don't reach for the stars!9 Jan 2023
- 2022A Survey on Pretrained Language Models for Neural Code Intelligence20 Dec 2022
- 2022Parameter-Efficient Finetuning of Transformers for Source Code12 Dec 2022
- 2022The Stack: 3 TB of permissively licensed source code20 Nov 2022
- 2022Evaluating How Fine-tuning on Bimodal Data Effects Code Generation15 Nov 2022
- 2022Efficient Training of Language Models to Fill in the Middle28 Jul 2022
50 newest of 68 All 68 (JSON)
- 2023Code Llama: Open Foundation Models for Codecited by 2,105
- 2026Analyzing Chain of Thought (CoT) Approaches in Control Flow Code Deobfuscation Taskscited by 0
- 2021CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generationcited by 890
- 2022InCoder: A Generative Model for Code Infilling and Synthesiscited by 492
- 2023Large Language Models for Software Engineering: A Systematic Literature Reviewcited by 389
- 2022The Stack: 3 TB of permissively licensed source codecited by 354
- 2022Efficient Training of Language Models to Fill in the Middlecited by 248
- 2023SantaCoder: don't reach for the stars!cited by 169
- 2022Natural Language to Code Translation with Executioncited by 122
- 2021Leveraging Automated Unit Tests for Unsupervised Code Translationcited by 82
- 2021AVATAR: A Parallel Corpus for Java-Python Program Translationcited by 59
- 2022NatGen: Generative pre-training by "Naturalizing" source codecited by 53
- 2022VulBERTa: Simplified Source Code Pre-Training for Vulnerability Detectioncited by 51
- 2022CodeAttack: Code-Based Adversarial Attacks for Pre-trained Programming Language Modelscited by 48
12 most cited of 64 All 64 (JSON)
- 2026Revisiting the Role of Natural Language Code Comments in Code Translation23 Jan 2026
- 2026The New Compiler Stack: A Survey on the Synergy of LLMs and Compilers5 Jan 2026
- 2025Automated Snippet-Alignment Data Augmentation for Code Translation16 Oct 2025
- 2025Learning Bug Context for PyTorch-to-JAX Translation with LLMs10 Oct 2025
- 2025On The Role of Pretrained Language Models in General-Purpose Text Embeddings: A Survey28 Jul 2025
- 2025A Benchmark Dataset for Graph Regression with Homogeneous and Multi-Relational Variants29 May 2025
- 2025Deconstructing Obfuscation: A four-dimensional framework for evaluating Large Language Models assembly code deobfuscation capabilities26 May 2025
- 2025ObscuraCoder: Powering Efficient Code LM Pre-Training Via Obfuscation Grounding27 Mar 2025
- 2025LLM-Aided Customizable Profiling of Code Data Based On Programming Language Concepts19 Mar 2025
- 2024InterTrans: Leveraging Transitive Intermediate Translations to Enhance LLM-based Code Translation1 Nov 2024
- 2024TransAgent: Enhancing LLM-Based Code Translation via Fine-Grained Execution Alignment30 Sep 2024
- 2024A Joint Learning Model with Variational Interaction for Multilingual Program Translation25 Aug 2024
12 newest of 64 All 64 (JSON)