Abstract:Plagiarism often occurs in programming assignments submitted by students. Similarity detection techniques can help teachers find the suspicious plagiarism. Most similarity detection techniques use identical algorithm for different programming languages, which leads to the redundant checking algorithms and degrades the checking accuracy. In this paper, a hybrid algorithm of similarity detection adapting to the characteristic of assembly language was presented, which combined attribute counting with structure metrics technique. In the algorithm, the number of paragraphs, the number of definition and calling of subroutines, the number of loop and branch occurrences in assembly programs were extracted as the structure information. And 73high frequent keywords were taken as the attribute information. The similarity of two programs was judged with the chi-square test after getting the attribute and structure information. Experiments demonstrated that results from the proposed algorithm were consistent to those from the manual check. The hybrid algorithm was superior to the methods based on attribute counting and structure metrics.