JPlag is a system that detects similarities between multiple source code submissions in order to identify software plagiarism and collusion. It compares programs structurally rather than performing simple text comparisons, making it resilient to common attempts to disguise copied code such as renaming variables or reformatting programs.
The software analyzes sets of submissions and calculates pairwise similarities between programs. It is widely used in programming education to detect plagiarism in student assignments, but it can also be applied to large code bases to identify duplicated or reused code fragments. JPlag runs locally and supports numerous programming languages including Java, C, C++, C#, Python, JavaScript, Rust, Go, Kotlin, Scala, and others
This is free and open source software.
Key Features
- Detects software plagiarism and collusion by identifying similarities among multiple programs.
- Performs pairwise comparison of submissions to compute similarity scores between programs.
- Uses syntax-aware analysis of program structure rather than simple text matching, improving robustness against superficial code changes.
- Tokenizes source code into language-independent token sequences which are compared using similarity algorithms.
- Supports numerous programming languages including Java, C, C++, C#, Python, JavaScript, TypeScript, Go, Kotlin, R, Rust, Scala, Swift, and others.
- Can process collections of student assignments or other program sets organized in directories.
- Generates similarity reports highlighting matching code sections between submissions
- Includes a report viewer for examining results and exploring similarity relationships between submissions.
- Provides a command-line interface (CLI) for running plagiarism analysis on local datasets.
- Allows the programming language to be specified via command options or subcommands when running comparisons.
- Supports configuration options such as base code exclusion and language-specific parameters.
- Designed to run locally without uploading source code to external services, protecting privacy of submissions.
Website: github.com/jplag/JPlag
Support:
Developer: JPlag
License: GNU General Public License v3.0
JPlag is written in Java. Learn Java with our recommended free books and free tutorials.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

