Git Product home page Git Product logo

dolos's Introduction

Dolos

A plagiarism graph showing a lot of plagiarism.

Version of the npm package GitHub checks status 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 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.

Installation

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.

Usage

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 run -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.

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 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 and lib projects as dolos-web and dolos-lib in the CLI project as long as the cli/package.json mentions @dodona/dolos-web and @dodona/dolos-lib with the correct version as a dependency. This allows you to simultaneously develop the CLI, lib and the web project together.

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

Projects

  • CLI: the command-line interface
  • Lib: the core library
  • Web: the graphical user interface in your browser which can be launched using the CLI
  • Docs: the source code of https://dolos.ugent.be
  • Server: (experimental) a webserver exposing Dolos as a web application

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:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.