CLFeb 15, 2021

DOBF: A Deobfuscation Pre-Training Objective for Programming Languages

arXiv:2102.07492v3167 citations
Originality Highly original
AI Analysis

This addresses the need for better pre-training methods for programming languages, benefiting developers and researchers in code analysis and generation, though it is incremental as it builds on existing self-supervised learning paradigms.

The paper tackles the problem of pre-training language models for programming languages by introducing DOBF, a deobfuscation objective that recovers original source code from obfuscated versions, resulting in relative improvements of up to 13% in unsupervised code translation and 24% in natural language code search.

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.

Code Implementations2 repos
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes