I still know it's you! On Challenges in Anonymizing Source Code
Not on the map. Why?
Abstract (arXiv)
The source code of a program not only defines its semantics but also contains subtle clues that can identify its author. Several studies have shown that these clues can be automatically extracted using machine learning and allow for determining a program's author among hundreds of programmers. This attribution poses a significant threat to developers of anti-censorship and privacy-enhancing technologies, as they become identifiable and may be prosecuted. An ideal protection from this threat would be the anonymization of source code. However, neither theoretical nor practical principles of such an anonymization have been explored so far. In this paper, we tackle this problem and develop a framework for reasoning about code anonymization. We prove that the task of generating a k-anonymous program -- a program that cannot be attributed to one of k authors -- is not computable in the general case. As a remedy, we introduce a relaxed concept called k-uncertainty, which enables us to measure the protection of developers. Based on this concept, we empirically study candidate techniques for anonymization, such as code normalization, coding style imitation, and code obfuscation. We find that none of the techniques provides sufficient protection when the attacker is aware of the anonymization. While we observe a notable reduction in attribution performance on real-world code, a reliable protection is not achieved for all developers. We conclude that code anonymization is a hard problem that requires further attention from the research community.
Key facts. No citing papers in the map yet (data through 14 Oct 2026). Builds on 15 of its 68 references that are in the map. First posted on arXiv 26 Aug 2022.
Builds on
15 of 68 references.
References · 15
- 2014Explaining and Harnessing Adversarial Examplescited by 7,364
- 2016Deep Learning with Differential Privacycited by 2,728
- 2013Visualizing and Understanding Convolutional Networkscited by 2,290
- 2020Differentially Private Representation for NLP: Formal Guarantee and An Empirical Study on Privacy and Fairnesscited by 67
- 2022The Limits of Word Level Differential Privacycited by 63
- 2019Evaluating Explanation Methods for Deep Learning in Securitycited by 38
- 2019Misleading Authorship Attribution of Source Code using Adversarial Learningcited by 33
- 2015Differentially Private k-Means Clusteringcited by 27
- 2018SynTF: Synthetic and Differentially Private Term Frequency Vectors for Privacy-Preserving Text Miningcited by 21
- 2016Learning Stylometric Representations for Authorship Analysiscited by 14
- 2015When Coding Style Survives Compilation: De-anonymizing Programmers from Executable Binariescited by 11
- 2020Authorship Attribution of Source Code: A Language-Agnostic Approach and Applicability in Software Engineeringcited by 9
3 more
- 2017Git Blame Who?: Stylistic Authorship Attribution of Small, Incomplete Source Code Fragmentscited by 7
- 2017Composing Differential Privacy and Secure Computation: A case study on scaling private record linkagecited by 3
- 2018An Empirical Study of the I2P Anonymity Network and its Censorship Resistancecited by 1
Built on by
Not cited yet.