Dolos
dolos.ugent.be
What it is
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.
Spec sheet
- What it does
- Dolos detects similarities and possible plagiarism among programming source-code submissions.Read 15 Oct 2026 · dolos.ugent.be
- Purpose
- Dolos detects plagiarism by finding similarities between source code submissions.Read 4 Oct 2026 · dolos.ugent.be
- Audience
- Dolos focuses on teachers checking programming tests and exams, as well as exercises where collaboration is allowed within small groups.Read 4 Oct 2026 · dolos.ugent.be
- API
- The JSON API accepts multipart ZIP uploads and returns report URLs and machine-readable report objects.Read 15 Oct 2026 · dolos.ugent.be
- Integrations
- Dolos provides a JSON API for automated integration with exercise platforms such as Dodona.Read 4 Oct 2026 · dolos.ugent.be
- Privacy
- Team Dodona says it never shares submitted files or analysis reports and never uses them for commercial purposes; users can delete their data, and older data is periodically deleted.Read 4 Oct 2026 · dolos.ugent.be
- Support
- General questions and support are handled through GitHub discussions, while bugs and feature requests use GitHub issues.Read 15 Oct 2026 · dolos.ugent.be
- Headquarters
- Ghent, BelgiumRead 28 Sep 2026 · dolos.ugent.be
- Maker
- Dolos is developed by Team Dodona at Ghent University in Belgium.Read 15 Oct 2026 · dolos.ugent.be
- Algorithm pipeline
- The analysis pipeline uses tokenization, fingerprinting, indexing and reporting.Read 15 Oct 2026 · dolos.ugent.be
- Analysis
- Its pipeline tokenizes source files, fingerprints token sequences, indexes matches, and generates reports.Read 4 Oct 2026 · dolos.ugent.be
- API authentication
- The publicly hosted API currently requires no authentication.Read 15 Oct 2026 · dolos.ugent.be
- API integration
- The API is intended for automated connections with exercise platforms such as Dodona.Read 15 Oct 2026 · dolos.ugent.be
- API limit
- The public API limits ZIP submissions to 10 MB and recommends the CLI or library for larger submissions.Read 4 Oct 2026 · dolos.ugent.be
- API size limit
- Public API ZIP uploads are capped at 10 MB; larger analyses are directed to the CLI or library.Read 15 Oct 2026 · dolos.ugent.be
- CLI
- The npm package provides a command-line interface for local analysis and browser-based report viewing.Read 15 Oct 2026 · dolos.ugent.be
- Cluster analysis
- The interface groups related submissions into clusters to help instructors identify larger collaboration groups.Read 15 Oct 2026 · dolos.ugent.be
- Copyright origin
- The repository license identifies the copyright holder as Team Dolos and dates the copyright to 2019.Read 15 Oct 2026 · github.com
- Docker
- A Docker container is provided for running Dolos locally or self-hosting the web application.Read 15 Oct 2026 · github.com
- Export formats
- CLI output can be terminal text, CSV files or an interactive web report.Read 15 Oct 2026 · dolos.ugent.be
- Extensible parsers
- Locally installed Tree-sitter parser packages can be discovered at runtime to add languages.Read 15 Oct 2026 · dolos.ugent.be
- Hosting
- The free web app is hosted on Ghent University servers in Belgium, and users can also run Dolos locally or host their own server.Read 4 Oct 2026 · dolos.ugent.be
- Independent benchmark limitation
- The same 2026 study found performance fell at harder modification levels and that CrystalBLEU surpassed Dolos overall after preprocessing.Read 15 Oct 2026 · arxiv.org
- Independent benchmark result
- A 2026 University of Warwick study found Dolos had the best overall ranking performance without preprocessing on its evaluated datasets.Read 15 Oct 2026 · arxiv.org
- Independent research description
- A 2024 arXiv paper reports a redesigned web app, hierarchical dashboards and clusters intended to help educators investigate suspected plagiarism.Read 15 Oct 2026 · arxiv.org
- Independent research stack
- The 2024 paper identifies a web interface, JSON API, CLI, JavaScript library and Docker container as Dolos components.Read 15 Oct 2026 · arxiv.org
- Interactive reports
- Reports provide visual exploration of similarity relationships among files.Read 15 Oct 2026 · dolos.ugent.be
- JavaScript library
- Dolos includes a JavaScript library for embedding analysis in other applications.Read 15 Oct 2026 · dolos.ugent.be
- Languages
- Dolos uses Tree-sitter parsers and supports common languages including Bash, C, C++, C#, Elm, JavaScript, Java, PHP, Python, and TypeScript out of the box.Read 4 Oct 2026 · dolos.ugent.be
- Licence
- The repository distributes Dolos under the MIT License, including permission to use, modify, distribute and sell copies with the notice retained.Read 15 Oct 2026 · github.com
- Limit: boilerplate similarity
- Common exercise templates and test code can inflate similarity scores unless instructors configure ignore files or common-fragment thresholds.Read 15 Oct 2026 · dolos.ugent.be
- Limit: mixed languages
- For ZIP submissions containing multiple languages, the server inspects only files from the dominant language.Read 15 Oct 2026 · dolos.ugent.be
- Limit: tuning trade-off
- Increasing the winnowing window or k-gram length reduces runtime and memory use but can reduce detection accuracy.Read 15 Oct 2026 · dolos.ugent.be
- Offline use
- The command-line tool can run analyses locally and display results in a browser; a Docker image is also provided.Read 4 Oct 2026 · dolos.ugent.be
- Open source
- Dolos is open source under the MIT license.Read 4 Oct 2026 · dolos.ugent.be
- Parser technology
- Dolos tokenizes source code with Tree-sitter and masks variable and function names to reduce the effect of renaming.Read 15 Oct 2026 · dolos.ugent.be
- Recent release
- GitHub release v2.9.3 documented a permission-denied cleanup fix, updated the macOS CI runner, improved Docker reproducibility and added rootless Docker support.Read 15 Oct 2026 · github.com
- Reports
- Reports include similarity, total overlap, and the longest matching fragment for file pairs.Read 4 Oct 2026 · dolos.ugent.be
- Security statement
- The home page describes the hosted web application as secure, private and fast.Read 15 Oct 2026 · dolos.ugent.be
- Self-hosting
- The open-source web application can be hosted by users on their own infrastructure.Read 15 Oct 2026 · github.com
- Similarity metrics
- Pair reports include similarity, total overlap and the longest matching fragment.Read 15 Oct 2026 · dolos.ugent.be
- Supported languages
- Built-in parsers cover Bash, C, C++, C#, Elm, JavaScript, Java, PHP, Python and TypeScript, with additional Tree-sitter languages possible.Read 15 Oct 2026 · dolos.ugent.be
- System requirement
- CLI installation requires Node.js, and native-module builds may require Python plus a compiler or Visual Studio on Windows.Read 15 Oct 2026 · dolos.ugent.be
- Usage
- The web app accepts a ZIP of source files and automatically detects languages from file extensions, analyzing only the dominant language in mixed-language ZIPs unless a language is selected.Read 4 Oct 2026 · dolos.ugent.be
- Use cases
- Dolos is designed for programming tests, exams and exercises where instructors need to inspect copied or shared solutions.Read 15 Oct 2026 · dolos.ugent.be
- Web app
- The hosted application runs in a browser without requiring installation.Read 15 Oct 2026 · dolos.ugent.be
Plans and prices
Strong points and limits
Strong points
- Free and open source under the MIT license
- Reports show overlap and longest matching fragments
- Local analysis and self-hosting are available
- JSON API supports integrations such as Dodona
Limits
- Public API ZIP submissions are limited to 10 MB
- Mixed-language ZIPs default to the dominant language
Who it suits
Dolos suits teachers checking programming tests, exams, and exercises where collaboration is permitted within small groups. It also offers local, API, and self-hosted options for workflows beyond the web app.
Verdict
Dolos offers several ways to analyze code submissions and inspect matching fragments. Its web and API ZIP limits and dominant-language behavior matter for mixed or larger submissions.
Where Specifiction places it
- Code Duplication Detection Tools#1 of 188.7
- Plagiarism Checkers#5 of 319.0
- Plagiarism Detection Software#5 of 289.0