Skip to content

dodona-edu/dolos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Feb 22, 2024
d564050 · Feb 22, 2024
Feb 22, 2024
Feb 21, 2024
Feb 22, 2024
Feb 22, 2024
Feb 22, 2024
Feb 22, 2024
Feb 22, 2024
Feb 22, 2024
Jan 10, 2024
Feb 22, 2024
Aug 24, 2022
Jan 10, 2024
Feb 16, 2024
Jan 18, 2023
Jul 16, 2021
Feb 22, 2024
Jan 11, 2024
Jan 11, 2024
Oct 26, 2023
Jun 30, 2023
Feb 21, 2024
Aug 1, 2023
Feb 21, 2024

Repository files navigation

Dolos

A plagiarism graph showing a lot of plagiarism.

Current version of the npm package DOI of the latest journal article about Dolos MIT source code license

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 offering a web app with 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 web app that analyses source code files for similarities between them. In addition, it offers a command-line interface to run an analysis locally, showing the 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.

Try Dolos on https://dolos.ugent.be.

Installation

If you want to run Dolos locally instead of using the web app, you can install Dolos your system using npm:

npm install -g @dodona/dolos

See the installation instructions on our website for more complete instructions.

CLI Usage

Dolos can 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 run -f web 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.

Documentation

Visit our web page at https://dolos.ugent.be.

Building and developing

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 component (core, lib, 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 core, lib and web projects as their versions match in the package.json file. This allows you to simultaneously develop the CLI, lib and the web project together.

Each component has its own build instructions in its own directory.

Components

  • CLI: the command-line interface
  • Core: the Javascript library with only the core algorithms
  • Parsers: the tree-sitter parsers vendored by Dolos
  • Lib: the Node.js library which can parse and analyze files
  • Web: the graphical user interface in your browser which can be launched using the CLI
  • Docs: the source code of https://dolos.ugent.be
  • API: the API server running the Dolos web app at https://dolos.ugent.be/server

Who made this software?

Dolos is an active research project by Team Dodona at Ghent University. If you use this software for your research, please cite: