Dolos vs JPlag
Dolos
dolos.ugent.beJPlag
jplag.ipd.kit.eduSide by side
| Figure | Dolos | JPlag |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | Yes | — |
| Web | Yes | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 2 | 1 |
| Spec score · Plagiarism Checkers | 9.0 (#5) | 8.0 (#10) |
| Headquarters | Ghent, Belgium | Karlsruhe, Germany |
| Purpose | Dolos detects plagiarism by finding similarities between source code submissions. | JPlag finds pairwise similarities among programs to detect source-code plagiarism and collusion. |
| Support | General questions and support are handled through GitHub discussions, while bugs and feature requests use GitHub issues. | The project directs users to report bugs and issues and provides [email protected] for other inquiries. |
| Supported languages | Built-in parsers cover Bash, C, C++, C#, Elm, JavaScript, Java, PHP, Python and TypeScript, with additional Tree-sitter languages possible. | The project lists support for Java, C, C++, C#, Python, JavaScript, TypeScript, Go, Kotlin, R, Rust, Swift, Scala, LLVM IR, Scheme, EMF, SCXML, text, and multi-language input. |
Plans
In their own words
Dolos
Dolos is a free, open-source tool for finding similarities between source-code submissions, particularly for teachers reviewing tests, exams, and exercises where collaboration may be allowed in small groups. Its analysis process tokenizes files, fingerprints token sequences, indexes matches, and produces reports. For each file pair, reports include similarity, total overlap, and the longest matching fragment. Dolos uses Tree-sitter parsers and supports languages including Bash, C, C++, C#, Elm, JavaScript, Java, PHP, Python, and TypeScript. The web app accepts ZIP files and detects languages from file extensions; in mixed-language archives, it analyzes only the dominant language unless a language is selected. Its public API accepts ZIP submissions up to 10 MB, with the CLI or library recommended for larger submissions. Analyses can also run locally, with results displayed in a browser, or on a self-hosted server. The free web app is hosted on Ghent University servers in Belgium. Dolos provides a JSON API for integrations such as Dodona and lists CSV as a report export format.
JPlag
JPlag is free, open-source software for finding pairwise similarities among submitted programs. It examines program syntax and structure to help detect source-code plagiarism and collusion, especially in student programming exercises, and can also identify duplicated or stolen software parts. It does not compare submissions with the internet. Supported inputs include Java, C, C++, C#, Python, JavaScript, TypeScript, Go, Kotlin, R, Rust, Swift, Scala, LLVM IR, Scheme, EMF, SCXML, text, and multi-language projects. JPlag runs locally, with the project stating that source code and plagiarism results are not sent externally. You can use its command-line interface, Java API, or Maven Central dependency. A bundled report viewer opens generated or existing reports. Base-code directories can exclude shared starter code, while matching-token sensitivity is adjustable. The default report lists up to 2500 comparison pairs, configurable with -n. Running or building it requires Java SE 25.