Publication | Closed Access
Syntax Trees and Information Retrieval to Improve Code Similarity Detection
31
Citations
29
References
2020
Year
Unknown Venue
Syntax TreesEngineeringSoftware EngineeringSource Code AnalysisSoftware AnalysisCorpus LinguisticsText MiningSource Code PlagiarismInformation RetrievalData ScienceData MiningComputational LinguisticsSoftware MiningCode GenerationProgramming StyleComputer ScienceCode RepresentationContent Similarity DetectionProgram AnalysisCode Similarity DetectionSoftware TestingProgram Comprehension
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1