Language-Independent Clone Detection Applied to Plagiarism Detection

被引:31
作者
Brixtel, Romain [1 ]
Fontaine, Mathieu [1 ]
Lesner, Boris [1 ]
Bazin, Cyril [1 ]
Robbes, Romain [2 ]
机构
[1] Univ Caen Basse Normandie, GREYC CNRS UMR 6072, F-14000 Caen, France
[2] Univ Chile, DCC, Santiago 8370459, Chile
来源
2010 10TH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION | 2010年
关键词
Endogenous; Plagiarism Detection; Similarity Measure; Distance; Source Code Segmentation; Source Code Plagiarism; PROGRAMS; CCFINDER; CODE;
D O I
10.1109/SCAM.2010.19
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Clone detection is usually applied in the context of detecting small-to medium scale fragments of duplicated code in large software systems. In this paper, we address the problem of clone detection applied to plagiarism detection in the context of source code assignments done by computer science students. Plagiarism detection comes with a distinct set of constraints to usual clone detection approaches, which influenced the design of the approach we present in this paper. For instance, the source code can be heavily changed at a superficial level (in an attempt to look genuine), yet be functionally very similar. Since assignments turned in by computer science students can be in a variety of languages, we work at the syntactic level and do not consider the source-code semantics. Consequently, the approach we propose is endogenous and makes no assumption about the programming language being analysed. It is based on an alignment method using the parallel principle at local resolution (character level) to compute similarities between documents. We tested our framework on hundreds of real source files, involving a wide array of programming languages (Java, C, Python, PHP, Haskell, bash). Our approach allowed us to discover previously undetected frauds, and to empirically evaluate its accuracy and robustness.
引用
收藏
页码:77 / 86
页数:10
相关论文
共 24 条
[1]  
[Anonymous], PRICAI 2006 P 9 PAC
[2]  
[Anonymous], 2000, Parallel text processing, DOI DOI 10.1007/978-94-017-2535-4_1
[3]  
[Anonymous], TECHNICAL REPORT
[4]  
[Anonymous], THESIS
[5]  
[Anonymous], 1990, COMPUTER J
[6]  
BAKER BS, 1995, SECOND WORKING CONFERENCE ON REVERSE ENGINEERING, PROCEEDINGS, P86, DOI 10.1109/WCRE.1995.514697
[7]   Clone detection using abstract syntax trees [J].
Baxter, ID ;
Yahin, A ;
Moura, L ;
Sant'Anna, M ;
Bier, L .
INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 1998, :368-377
[8]   Comparison and evaluation of clone detection tools [J].
Bellon, Stefan ;
Koschke, Rainer ;
Antoniol, Giuliano ;
Krinke, Jens ;
Merlo, Ettore .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2007, 33 (09) :577-591
[9]   Clustering by compression [J].
Cilibrasi, R ;
Vitányi, PMB .
IEEE TRANSACTIONS ON INFORMATION THEORY, 2005, 51 (04) :1523-1545
[10]   On the effectiveness of clone detection by string matching [J].
Ducasse, S ;
Nierstrasz, O ;
Rieger, M .
JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION-RESEARCH AND PRACTICE, 2006, 18 (01) :37-58