JPlag: Find source code similarities
Summary
JPlag is a system that finds similarities among multiple sets of source code files. This way it can detect software plagiarism. JPlag does not merely compare bytes of text, but is aware of programming language syntax and program structure and hence is robust against many kinds of attempts to disguise similarities between plagiarized files. JPlag currently supports Java, C, C++, C#, Scheme, and natural language text.
JPlag is typically used to detect and thus discourage the unallowed copying of student exercise programs in programming education. But in principle it can also be used to detect stolen software parts among large amounts of source text or modules that have been duplicated (and only slightly modified) during program maintenance.