atlas

Research map / Large language models / Language, safety and interpretability

ObscuraCoder: Powering Efficient Code LM Pre-Training Via Obfuscation Grounding

ICLR 2025 · Large language models › Language, safety and interpretability · approach: LLM unlearning and benchmarks

Read the paperCheck your idea against 108,967 papers

AI-extracted summary. Written by AI from the paper's full text. Numbers and claims can be wrong or missing context, so check the paper before you cite or build on it.

Proposes ObscuraCoder, pre-training small-to-2.8B Llama-style code LMs with a bidirectional source-to-obfuscated-code translation objective on a 55M-pair multilingual dataset (ObscuraX), improving syntactic/semantic code understanding, library code generation, and multilingual completion.

Problem

Code language models' pre-training objectives have stayed largely unchanged; they are data-inefficient and struggle to disentangle code syntax from semantics, while high-quality code data is limited (the "data wall").

Approach

Use source-to-obfuscated-code translation pairs (identifiers and, for a fraction of samples, imports replaced by generic tokens) as a bidirectional pre-training objective mixed with plain language modelling on unpaired source and obfuscated code, trained from scratch for decoder-only Code-LMs, rather than masked de-obfuscation as in DOBF.

Key results

Measured effects reported in the paper

What was changedWhereMeasuredEffect
Add obfuscation-grounded pre-training instead of vanilla causal LM pre-trainingLlama 2.8B · CodeXGLUE DefectF1-Score: 64.36 -> 65.42Helped
Add obfuscation-grounded pre-training instead of vanilla causal LM pre-trainingLlama 2.8B · ReCodepass@1: +10.59 Format; +9.77 Syntax; +5.38 FunctionHelped
Add obfuscation-grounded pre-training with import obfuscation instead of vanilla causal LM pre-trainingLlama 2.8B · BigCodeBenchpass@25: +16.83Helped
Add obfuscation-grounded pre-training instead of vanilla causal LM pre-trainingLlama 2.8B · Multipl-Epass@100: +14.39Helped
Add obfuscation-grounded pre-training instead of vanilla causal LM pre-trainingLlama 2.8B · CommitChronicleROUGE-2: +1.26Helped
Use bidirectional source/obfuscated-code translation and train on obfuscated code, rather than identifier-map-only DOBF (ablation)Llama 2.8B pre-training · ReCode Functionpass@1: 16.69 -> 20.11Helped
Use bidirectional source/obfuscated-code translation and train on obfuscated code, rather than identifier-map-only DOBF (ablation)Llama 2.8B pre-training · BigCodeBenchpass@1: 13.18 -> 14.77Helped
Use bidirectional source/obfuscated-code translation and train on obfuscated code, rather than identifier-map-only DOBF (ablation)Llama 2.8B pre-training · Multipl-Epass@100: 51.27 -> 61.93Helped
Use bidirectional source/obfuscated-code translation and train on obfuscated code, rather than identifier-map-only DOBF (ablation)Llama 2.8B pre-training · CommitChronicleROUGE-2: 13.39 -> 14.15Helped
Apply obfuscation translation post-hoc after causal pre-training rather than grounding representations early (ablation)Llama 2.8B · ReCode Functionpass@1: 15.85 vs 20.11Hurt

Surprising findings

Limitations

Experimental setup

Datasets: ObscuraX filtered-code-text filtered-source-code (The Stack) CommitChronicle CodeXGLUE defect detection

Benchmarks: CodeXGLUE defect detection ReCode BigCodeBench Multipl-E CommitChronicle

Metrics: accuracy F1-score pass@1 pass@10 pass@25 pass@100 ROUGE-1 ROUGE-2 ROUGE-L

Baselines: CausalLM (vanilla autoregressive) DOBF (decoder-only adaptation) StarCoderBase 1B StarCoderBase 3B DeepSeekCoder 1.3B StarCoder2 3B StableCode 3B CodeGemma 2B Phi-2

Builds on: DOBF Llama Megatron-LM LoRA

Closest papers by meaning

Writing a paper in this area? scime draft is a free LaTeX editor with AI included, real-time co-authors and a check of your references and venue rules before you submit. It also imports OpenAI Prism projects.

Open scime draft

Get the next scime Dispatch and a monthly field update

Free. We send a confirmation link first; every email has a one-click unsubscribe. Privacy