| With the rapid development of Internet today, software copyright protection has drawn increasing attention, and software homology detection becomes more and more important. In the procedure of software copyright protection and obtaining evidence of computer crime, it is necessary to take software homology detection to determine ownership of the intellectual property.Software homology can be detected from two aspects, source code and binaries. At present, Software homology detection technology for source code has not been specified for if-statements, which is very common in source code. Meanwhile, software homology detection technology for binaries has not been specified for the purpose of plagiarism detection.This paper has done in-depth research of software homology detection from the two aspects mentioned above. At first, software homology detection technology for source code and binaries is described in detail. Then, this paper briefly introduces the overall architecture design of the source code homology detection system and binary homology detection system, and explains the specific function of each module. After this, the paper proposes the source code homology detection algorithm based on structure optimization of abstract syntax tree and the binary homology detection algorithm based on control flow graph comparison, and introduces the structure optimization scheme for if-statements. The effectiveness of the algorithms is proved with experiments. Finally, the paper summarizes the research work and points out the direction for further research.In allusion to the characteristic of plagiarism detection, this paper innovatively puts forward software homology detection algorithm based on structure optimization of abstract syntax tree for source code and that based on control flow graph comparison for binaries. This may provide some information for software copyright protection and obtaining evidence of computer crime. |