Our new X account is live! Follow @wizwand_team for updates
WorkDL logo mark

PrivCode: When Code Generation Meets Differential Privacy

About

Large language models (LLMs) have presented outstanding performance in code generation and completion. However, fine-tuning these models on private datasets can raise privacy and proprietary concerns, such as the leakage of sensitive personal information. Differentially private (DP) code generation provides theoretical guarantees for protecting sensitive code by generating synthetic datasets that preserve statistical properties while reducing privacy leakage concerns. However, DP code generation faces significant challenges due to the strict syntactic dependencies and the privacy-utility trade-off. We propose PrivCode, the first DP synthesizer specifically designed for code datasets. It incorporates a two-stage framework to improve both privacy and utility. In the first stage, termed "privacy-sanitizing", PrivCode generates DP-compliant synthetic code by training models using DP-SGD while introducing syntactic information to preserve code structure. The second stage, termed "utility-boosting", fine-tunes a larger pre-trained LLM on the synthetic privacy-free code to mitigate the utility loss caused by DP, enhancing the utility of the generated code. Extensive experiments on four LLMs show that PrivCode generates higher-utility code across various testing tasks under four benchmarks. The experiments also confirm its ability to protect sensitive data under varying privacy budgets. We provide the replication package at the anonymous link.

Zheng Liu, Chen Gong, Terry Yue Zhuo, Kecen Li, Weichen Yu, Matt Fredrikson, Tianhao Wang• 2025

Related benchmarks

TaskDatasetResultRank
Code GenerationHumanEval
Pass@166.5
850
Code GenerationHumanEval+
Pass@161
189
Code GenerationMBPP+
Pass@164.8
122
Code GenerationMBPP
Pass@178.3
113
CodeMBPP
Pass@177.9
43
Code GenerationBigCodeBench-Instruct Hard
Pass@110.8
37
Code GenerationBigCodeBench-Instruct (Full)
Pass@10.296
37
Code CompletionMBPP+
Pass@165.6
33
Code CompletionHumanEval+
Pass@143.3
33
Code CompletionBigCodeBench Hard
Pass@19.4
20
Showing 10 of 15 rows

Other info

Follow for update