Publication | Closed Access
Program Logic Based Software Plagiarism Detection
53
Citations
39
References
2014
Year
Unknown Venue
Software MaintenanceEngineeringVerificationSoftware EngineeringSource Code AnalysisInformation ForensicsSoftware AnalysisFormal VerificationProgram LogicSoftware MiningSoftware PlagiarismComputer ScienceStatic Program AnalysisSoftware DesignSoftware Plagiarism DetectionSoftware SecurityLopd SearchesContent Similarity DetectionProgram AnalysisSoftware TestingFormal MethodsObfuscation (Software)System Software
Software plagiarism, an act of illegally copying others' code, has become a serious concern for honest software companies and the open source community. In this paper, we propose LoPD, a program logic based approach to software plagiarism detection. Instead of directly comparing the similarity between two programs, LoPD searches for any dissimilarity between two programs by finding an input that will cause these two programs to behave differently, either with different output states or with semantically different execution paths. As long as we can find one dissimilarity, the programs are semantically different, but if we cannot find any dissimilarity, it is likely a plagiarism case. We leverage symbolic execution and weakest precondition reasoning to capture the semantics of execution paths and to find path dissimilarities. LoPD is more resilient to current automatic obfuscation techniques, compared to the existing detection mechanisms. In addition, since LoPD is a formal program semantics-based method, it can provide a guarantee of resilience against many known obfuscation attacks. Our evaluation results indicate that LoPD is both effective and efficient in detecting software plagiarism.
| Year | Citations | |
|---|---|---|
Page 1
Page 1