Dolos vs NiCad
Dolos
dolos.ugent.beNiCad
github.comSide by side
| Figure | Dolos | NiCad |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | Yes | — |
| Web | Yes | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | — |
| Self-hosted | Yes | Yes |
| Plans published | 2 | 1 |
| Spec score · Code Duplication Detection Tools | 8.7 (#1) | 7.7 (#7) |
| Headquarters | Ghent, Belgium | Kingston, Canada |
| Languages | Dolos uses Tree-sitter parsers and supports common languages including Bash, C, C++, C#, Elm, JavaScript, Java, PHP, Python, and TypeScript out of the box. | Included language plugins cover C, C#, Java, Python, PHP, Ruby, WSDL, and ATL. |
| Purpose | Dolos detects plagiarism by finding similarities between source code submissions. | NiCad is a near-miss source code clone detection system. |
| Reports | Reports include similarity, total overlap, and the longest matching fragment for file pairs. | Results include clone pairs and clone classes in XML-like formats, with optional browsable HTML reports. |
| Support | General questions and support are handled through GitHub discussions, while bugs and feature requests use GitHub issues. | The repository's Issues page currently shows no open issues and says issue creation is restricted. |
Plans
In their own words
Dolos
Dolos is a free, open-source tool for finding similarities between source-code submissions, particularly for teachers reviewing tests, exams, and exercises where collaboration may be allowed in small groups. Its analysis process tokenizes files, fingerprints token sequences, indexes matches, and produces reports. For each file pair, reports include similarity, total overlap, and the longest matching fragment. Dolos uses Tree-sitter parsers and supports languages including Bash, C, C++, C#, Elm, JavaScript, Java, PHP, Python, and TypeScript. The web app accepts ZIP files and detects languages from file extensions; in mixed-language archives, it analyzes only the dominant language unless a language is selected. Its public API accepts ZIP submissions up to 10 MB, with the CLI or library recommended for larger submissions. Analyses can also run locally, with results displayed in a browser, or on a self-hosted server. The free web app is hosted on Ghent University servers in Belgium. Dolos provides a JSON API for integrations such as Dodona and lists CSV as a report export format.
NiCad
NiCad is a near-miss source code clone detection system for finding similar fragments in a repository. It can analyze code at file, function, or block granularity. Included language plugins cover C, C#, Java, Python, PHP, Ruby, WSDL, and ATL; plugins for other languages can be added when a TXL grammar is available. Configuration files let users tailor renaming, filtering, abstraction, and normalization before comparison. Results include clone pairs and clone classes in XML-like formats, with optional browsable HTML reports. The default near-miss difference threshold is 0.30; a setting of 0.00 means exact clones. NiCadCross can report fragments from one system that also appear as clones in a second. The software is free under an MIT-style license, with stated conditions for use, modification, distribution, sublicensing, and sale. It runs on Linux, macOS, and Windows and can be run from its directory for personal use or installed system-wide. NiCad 7.0 requires OpenTxl 11 or later; building comparison tools requires Turing+ 6.2 or later.