Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
J

JPlag

> 编程语言
Open source

State-of-the-Art Source Code Plagiarism & Collusion Detection. Check for plagiarism in a set of programs.

1.9K stars0 likes2 views
WebsiteGitHub

About

State-of-the-Art Source Code Plagiarism & Collusion Detection. Check for plagiarism in a set of programs.

JPlag - Detecting Source Code Plagiarism

JPlag finds pairwise similarities among a set of multiple programs. It can reliably detect software plagiarism and collusion in software development, even when obfuscated. All similarities are calculated locally; no source code or plagiarism results are ever uploaded online. JPlag supports a large number of languages.

  • JPlag Demo

  • JPlag Wiki

  • ️ JPlag on Helmholtz RSD

  • Give us Feedback in a short (<5 min) survey

Supported Languages

All supported languages and their supported versions are listed below.

Language Version CLI Argument Name state parser
Java 25 java mature JavaC
C 11 c legacy JavaCC
C++ 14 cpp mature ANTLR 4
C# 6 csharp mature ANTLR 4
Python 3.6 python3 mature ANTLR 4
JavaScript ES6 javascript beta ANTLR 4
TypeScript ~5 typescript beta ANTLR 4
Go 1.17 golang beta ANTLR 4
Kotlin 1.3 kotlin mature ANTLR 4
R 3.5.0 rlang mature ANTLR 4
Rust 1.60.0 rust mature ANTLR 4
Swift 5.4 swift beta ANTLR 4
Scala 2.13.8 scala mature Scalameta
LLVM IR 15 llvmir beta ANTLR 4
Scheme ? scheme legacy JavaCC
EMF Metamodel 2.25.0 emf beta EMF
EMF Model 2.25.0 emf-model alpha EMF
SCXML 1.0 scxml alpha XML
Text (naive, use with caution) - text legacy CoreNLP
Multi-Language - multi alpha -

Download and Installation

You need Java SE 25 to run or build JPlag.

Downloading a release

  • Download a released version.
  • In case you depend on the legacy version of JPlag, we refer to the legacy release v2.12.1 and the legacy branch.

Via Maven

JPlag is released on Maven Central, it can be included as follows:

xml
<dependency>
  <groupId>de.jplag</groupId>
  <artifactId>jplag</artifactId>
  <version></version>
</dependency>

Building from sources

  1. Download or clone the code from this repository.
  2. Run mvn clean package from the repository root to compile and build all submodules. Run mvn clean package assembly:single instead if you need the full jar, which includes all dependencies. Run mvn -P with-report-viewer clean package assembly:single to build the full jar with the report viewer. In this case, you'll need Node.js installed.
  3. You will find the generated JARs (jplag-x.y.z-jar-with-dependencies.jar) in the subdirectory cli/target.

Usage

JPlag can either be used via the CLI or directly via its Java API. For more information, see the usage information in the wiki. If you are using the CLI, the report viewer UI will launch automatically. No data will leave your computer!

CLI

Note that the legacy CLI is varying slightly. The language can either be set with the -l parameter or as a subcommand (jplag [jplag options] -l <language name> [language options]). A subcommand takes priority over the -l option. Language-specific arguments can be set when using the subcommand. A list of language-specific options can be obtained by requesting the help page of a subcommand (e.g., jplag java —h).

…

Java API

The new API makes it easy to integrate JPlag's plagiarism detection into external Java projects:

…

Contributing

We're happy to incorporate all improvements to JPlag into this codebase. Feel free to fork the project and send pull requests. Please consider our guidelines for contributions.

Contact

If you encounter bugs or other issues, please report them here. For other purposes, you can contact us at [email protected]. We would love to hear about your research related to JPlag. Feel free to contact us!

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Javaacademic-dishonestycode-similaritycollusion-detectioncs-education

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言