Abstract
Although source code authorship identification creates a privacy threat for many open source contributors, it is an important topic for the forensics field and enables many successful forensic applications, including ghostwriting detection, copyright dispute settlements, and other code analysis applications. This work proposes a convolutional neural network (CNN) based code authorship identification system. Our proposed system exploits term frequency-inverse document frequency, word embedding modeling, and feature learning techniques for code representation. This representation is then fed into a CNN-based code authorship identification model to identify the code's author. Evaluation results from using our approach on data from Google Code Jam demonstrate an identification accuracy of up to 99.4% with 150 candidate programmers, and 96.2% with 1,600 programmers. The evaluation of our approach also shows high accuracy for programmers identification over real-world code samples from 1987 public repositories on GitHub with 95% accuracy for 745 C programmers and 97% for the C++ programmers. These results indicate that the proposed approaches are not language-specific techniques and can identify programmers of different programming languages.
Original language | English |
---|---|
Pages (from-to) | 104-115 |
Number of pages | 12 |
Journal | Future Generation Computer Systems |
Volume | 95 |
DOIs | |
State | Published - Jun 2019 |
Bibliographical note
Publisher Copyright:© 2018 Elsevier B.V.
Keywords
- Code authorship identification
- Convolutional neural network
- Deep learning identification
- Program features privacy
- Software forensics and security