Introduction
Dolos is a command-line application for source code plagiarism detection. It uses tree-sitter, an incremental parser library, to support a broad range of programming languages.
By using powerful visualizations, you can see in a glance how similar the analyzed files are. Based on our experience with teaching programming courses, Dolos focuses on two main use cases:
Tests and exams where no communication or collaboration is allowed and thus no similar submissions are expected. Submissions with a high similarity or with similar parts could a be a sign of possible cheating behavior and are immediately visible in the interface.
Regular exercises where collaboration is allowed between (small) groups of students where teachers want to see if solutions are not exchanged among larger groups of students. Dolos groups submissions within clusters to easily identify problematic groups.
The example below shows the difference between submissions for the same exercise used for an test where no communication or collaboration is allowed (left) and later as a mandatory exercise where students are allowed to collaborate in small groups (right):
Why a new tool?
We noticed that existing tools were lacking in a lot of ways. Some of them are provided as a website only, which was often offline and had an archaic interface. Others did not support the programming languages we wanted to use or were simply too difficult to get up and running ...
With Dolos, we want to provide an open-source tool which you can easily extend and integrate in your own workflow. It should be easy to install and have a modern user interface. Finally, we want teachers to be as effective as possible in detecting and preventing plagiarism, giving them more time do do what they do best: teaching.
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:
Maertens et. al. (2022) J. Computer Assisted Learning doi:10.1111/jcal.12662
What's in a name?
Dolos is properly named after the spirit of trickery and guile in Greek mythology. His bio on Wikipedia reads as:
He became known for his skill when attempting to make a fraudulent copy statue of Aletheia , in order to trick people into thinking they were seeing the real statue. He ran out of the clay he was using to create the statue, and had to leave the feet unfinished as he quaked in fear while his skill-master looked over his attempt at deceitfulness. To his surprise, Prometheus was rather amazed at the similarity between the statues, so Dolos then became a master in cunning deception, craftiness, and treachery. There are even some stories of Dolos tricking gods into lies.