JPlag

NEW: JPlag Webservice

Try out our new JPlag web service and client.

What is JPlag

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). 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.

Use JPlag

The use of JPlag is free, but you must obtain an account. This requirement is not only necessary to avoid unauthorized use of JPlag by students, but also to provide the easy and installation-free access to the software.
Please use the link on the top of this page to apply for the new JPlag version. You can still apply for the old JPlag version by contacting the authors at JPlag@ira.uka.de, but you should expect some delay when creating your account. Shortly describe the purpose for which you want to use JPlag (which university/school and course etc.). Please note that we do not give accounts to users of anonymous email address like Hotmail, Yahoo, Gmail, etc.
Just to make it clear: Currently JPlag does not compare to the internet! It is designed to find similarities among the student solutions, which is usually sufficient for computer programs.

Credits: Who, when, why?

JPlag was developed by Guido Malpohl. In 1996 it started out as a student research project and a few month later it evolved into the online system you see now. The author is currently involved in his Ph.D. thesis on a completely different subject, but is still maintaining and enhancing JPlag.
The server is located at the research group of Prof. W. Tichy. The group is a part of the Department of Informatics at the University of Karlsruhe.


Guido Malpohl