- Title
- Syntax Trees and Information Retrieval to Improve Code Similarity Detection
- Creator
- Karnalim, Oscar; Simon,
- Relation
- ACE'20: Twenty-Second Australasian Computing Education Conference. Proceedings of the ACE'20: Twenty-Second Australasian Computing Education Conference (Melbourne, Australia 3-7 February, 2020) p. 48-55
- Publisher Link
- http://dx.doi.org/10.1145/3373165.3373171
- Publisher
- Association for Computing Machinery (ACM)
- Resource Type
- conference paper
- Date
- 2020
- Description
- In dealing with source code plagiarism and collusion, automated code similarity detection can be used to filter student submissions and draw attention to pairs of programs that appear unduly similar. The effectiveness of the detection process can be improved by considering more structural information about each program, but the ensuing computation can increase the processing time. This paper proposes a similarity detection technique that uses richer structural information than normal while maintaining a reasonable execution time. The technique generates the syntax trees of program code files, extracts directly connected n-gram structure tokens from them, and performs the subsequent comparisons using an algorithm from information retrieval, cosine correlation in the vector space model. Evaluation of the approach shows that consideration of the program structure (i.e., syntax tree) increases the recall and f-score (measures of effectiveness) at the expense of execution time (a measure of efficiency). However, the use of an information retrieval comparison process goes some way to offsetting this loss of efficiency.
- Subject
- source code similarity detection; plagiarism and collusion in programming; syntax tree; information retrieval; computing education
- Identifier
- http://hdl.handle.net/${Handle}
- Identifier
- uon:39336
- Identifier
- ISBN:9781450376860
- Language
- eng
- Reviewed
- Hits: 438
- Visitors: 437
- Downloads: 0