z-logo
open-access-imgOpen Access
Authorship attribution of source code by using back propagation neural network based on particle swarm optimization
Author(s) -
Xinyu Yang,
Guizhi Xu,
Qi Li,
Yanhui Guo,
Miao Zhang
Publication year - 2017
Publication title -
plos one
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.99
H-Index - 332
ISSN - 1932-6203
DOI - 10.1371/journal.pone.0187204
Subject(s) - computer science , source code , particle swarm optimization , java , artificial neural network , set (abstract data type) , syntax , code (set theory) , artificial intelligence , data mining , plagiarism detection , machine learning , programming language
Authorship attribution is to identify the most likely author of a given sample among a set of candidate known authors. It can be not only applied to discover the original author of plain text, such as novels, blogs, emails, posts etc., but also used to identify source code programmers. Authorship attribution of source code is required in diverse applications, ranging from malicious code tracking to solving authorship dispute or software plagiarism detection. This paper aims to propose a new method to identify the programmer of Java source code samples with a higher accuracy. To this end, it first introduces back propagation (BP) neural network based on particle swarm optimization (PSO) into authorship attribution of source code. It begins by computing a set of defined feature metrics, including lexical and layout metrics, structure and syntax metrics, totally 19 dimensions. Then these metrics are input to neural network for supervised learning, the weights of which are output by PSO and BP hybrid algorithm. The effectiveness of the proposed method is evaluated on a collected dataset with 3,022 Java files belong to 40 authors. Experiment results show that the proposed method achieves 91.060% accuracy. And a comparison with previous work on authorship attribution of source code for Java language illustrates that this proposed method outperforms others overall, also with an acceptable overhead.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here