CloneWorks vs NiCad
CloneWorks
github.comNiCad
github.comSide by side
| Figure | CloneWorks | NiCad |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Code Clone Detection Tools | 7.9 (#4) | 7.7 (#10) |
| Languages | The input builder lists Java, C, C++, C#, and Python as supported input languages. | Included language plugins cover C, C#, Java, Python, PHP, Ruby, WSDL, and ATL. |
| Platforms | The README says CloneWorks can be used on Linux and other Unix-like systems, was tested on Ubuntu and OS X, and should work on Cygwin. | The README says NiCad should compile and run on Linux and macOS, and in Cygwin or MSYS2 (MinGW) on Windows. |
| Purpose | CloneWorks prepares source code and detects code clones in the prepared fragments. | NiCad is a near-miss source code clone detection system. |
| Support | Jeffrey Svajlenko invites questions and bug reports by email and says he is happy to assist with using CloneWorks. | The repository's Issues page currently shows no open issues and says issue creation is restricted. |
Plans
In their own words
CloneWorks
CloneWorks prepares source code into fragments and detects code clones in those fragments. It supports Linux, macOS, and Windows, with a token-based detection method and repository-level scan scope. Its input builder supports Java, C, C++, C#, and Python, and can extract blocks, functions, or files. The detector accepts a minimum similarity threshold from 0.0 to 1.0; the repository describes a Type-3 clone-detection test run. When an index exceeds available memory, a partitioned partial-index mode is available, though the README says its partition size must be determined experimentally. CloneWorks requires FreeTXL 10.6 or later, gcc, make, and Java 7 or later. The input builder runs more slowly on Cygwin because process creation is slower on Windows. It is free to use, with acknowledgement required; copies, modifications, and derivatives must remain under the license and be distributed without charge. The license also provides the software as-is without warranty.
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.