Font Size: a A A

Evolutionary-Computation-based Homology Analysis Of Source Codes

Posted on:2014-01-30Degree:MasterType:Thesis
Country:ChinaCandidate:B ChenFull Text:PDF
GTID:2248330398456803Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
With the rapid development of Internet and software industry, software and program plagiarism is becoming more and more serious, and so is the struggle of plagiarism and anti-plagiarism technology. Therefore, the homology analysis is obviously important. Nowadays, homology analysis of the source code means generally three ways or their different combinations:text-based, token-based, and the syntax tree-based. In practical applications, the syntax tree-based method plays a leading role, and has also been absorbed and adopted by most commercial software.However, the syntax tree-based method has its own fatal flaw, because comparison solely on the basis of an equality of the syntax tree node’s hash value, that’s to say, two syntax tree are homologous or not is a "Yes-No" problem, and there is no intermediate state, so it cannot solve the problem of internal syntactic structure similarity.This paper proposed a way to solve the problem of homologous analysis based on the evolutionary computation method. Firstly, we pretreat the source code of program, and we take lexical and syntax analysis after getting the intermediate code, and store the grammatical structure information of source code. After encoding the result of syntax analysis, we try to establish an initial relationship between syntax nodes of programs. And finally get the similarity relation and similarity degree between programs using crossover and mutation of genetic algorithm to solve the final matching and with the help of AHPto find a probable fitness function.
Keywords/Search Tags:Homology, Syntax tree, Evolutionary computation, AHP
PDF Full Text Request
Related items