LinuxCommandLibrary
GitHubF-DroidGoogle Play Store

dolos

plagiarism detector for programming assignments

TLDR

Run an analysis on a set of source files
$ dolos run [path/to/files/*]
copy
Open results in a local web UI
$ dolos run -f web [path/to/files/*]
copy
Set the language explicitly
$ dolos run -l [python] [path/to/files/*]
copy
Ignore template/boilerplate code
$ dolos run -i [path/to/template] [path/to/files/*]
copy
Write a CSV report
$ dolos run -f csv [path/to/files/*]
copy
Serve a previously generated report
$ dolos serve [path/to/report_directory]
copy

SYNOPSIS

dolos command [options] [paths...]

DESCRIPTION

dolos (Dodona, Ghent University) finds similar fragments across student programming submissions. It tokenizes source, compares pairs, and highlights copied regions. Typical use is a directory of assignment files plus optional template code to ignore.The web format launches a local UI for browsing pairs and overlap. CSV is for further processing. Language coverage includes common teaching languages; pass -l when extensions are mixed or missing.

PARAMETERS

-f, --output-format web|csv|...

How to present results. web starts a local viewer.
-l, --language name
Programming language of the files (otherwise inferred from extensions).
-i, --ignore file
Template or boilerplate to exclude from matching.
-h, --help
Show help.
-v, --version
Print version.

COMMANDS

run [options] files...

Tokenize submissions, compare them, and write a report.
serve reportdir_
Serve an existing analysis directory in the browser.

CAVEATS

High similarity is not proof of cheating; shared starter code, generated code, and small assignments inflate scores. Always ignore official templates. Serving reports binds a local HTTP port; do not expose student work on a public interface.

HISTORY

Developed for the Dodona learning platform at Ghent University.

SEE ALSO

diff(1), git-diff(1)

RESOURCES

Copied to clipboard
Kai