Skip to content
Timur Sağlam edited this page Aug 19, 2021 · 22 revisions

(Note that this Wiki is currently under construction, but will eventually replace the outdated JPlag website)

What is JPlag

JPlag is a system that finds similarities among multiple sets of source code files. This way it can detect software plagiarism and collusion in software development. 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++, Python 3, 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). JPlag has already played a part in several intellectual property cases where it has been successfully used by expert witnesses.

JPlag has a powerful graphical interface for presenting its results. See our example.

Just to make it clear: JPlag does not compare to the internet! It is designed to find similarities among the student solutions, which is usually sufficient for computer programs.

Using JPlag

Download the latest version of JPlag here. The legacy version of JPlag can be downloaded here. Further details can be found in the readme. If you encounter bugs or other issues, please report them here.

Clone this wiki locally