Dolos is a source code plagiarism detection tool for programming exercises. Dolos helps teachers in discovering students sharing solutions, even if they are modified. By providing interactive visualizations, Dolos can also be used to sensitize students to prevent plagiarism.
Dolos aims to be:
- Easy to use by having minimal installation instructions and an intuitive user interface
- Flexible to support many programming languages
- Powerful by using state-of-the-art algorithms to help you discover plagiarism
Dolos is a command-line (CLI) tool that analyses source code files for similarities between them. It is able to show an interactive user interface in your browser by launching a local webserver. The analysis results are available in machine readable CSV files and Dolos can be integrated as a JavaScript library in other applications empowering users to integrate plagiarism detection in their personal workflow.
You can install Dolos on your system using npm:
npm install -g @dodona/dolos
See the installation instructions on our website for more complete instructions.
Dolos has to be launched using the command-line interface, but it is able to show the results in your browser.
Launch Dolos using the following command in your terminal:
dolos -f web --language <language> path/to/your/files/*
The above command will launch a web interface with the analysis results at http://localhost:3000.
More elaborate instructions on how to use Dolos.
Visit our web page at https://dolos.ugent.be.
If you want to build Dolos from source you will need yarn (v1) because this project uses yarn workspaces to combine the dependencies of each project (cli, web and docs).
You only need to run install the dependencies once in the repository root by
running yarn install
. This will install all dependencies and link them in each
project's node_modules
. You should not run yarn install
in each
project's directory separately.
This will also link the dist
folder from the web project as dolos-web
in the
CLI project as long as the cli/package.json
mentions dolos-web
with the
correct version as a dependency. This allows you to simultaneously develop the
CLI and the Web project together.
Each project has its own build instructions in its own directory.
- CLI: the core library and command-line interface
- Web: the graphical user interface in your browser which can be launched using the CLI
- Docs: the source code of https://dolos.ugent.be