NiCad
Kingston, Canada
What it is
NiCad is a near-miss source code clone detector for examining similarities across a repository. It can compare code at file, function, or block level, with included plugins for C, C#, Java, Python, PHP, Ruby, WSDL, and ATL. A TXL grammar makes it possible to add support for other languages. Configuration files let teams adjust 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; 0.00 identifies exact clones. NiCadCross can report fragments in one system that also appear as clones in another. The software is free and uses an MIT-style license with stated conditions for use, modification, distribution, sublicensing, and sale. It runs on Linux, macOS, and Windows, either from its directory for personal use or through a system-wide installation script. NiCad 7.0 requires OpenTxl 11 or later; building comparison tools also requires Turing+ 6.2 or later.
For and against
For
- Compares code at file, function, or block level.
- Includes plugins for eight listed languages.
- Offers configurable preprocessing before comparison.
- Optional browsable HTML reports are available.
- Free software with an MIT-style license.
Against
- Requires OpenTxl 11 or later.
- Building comparison tools requires Turing+ 6.2 or later.
- Issue creation is restricted on the repository.
The verdict
NiCad offers configurable clone detection across multiple code granularities and supported languages. Check its OpenTxl and Turing+ requirements before choosing it.
Who it suits
NiCad suits developers and teams that need to locate similar code across repositories and want control over comparison settings. It may also fit users who can provide a TXL grammar to add another language.
Plans and prices
Free and open source
MIT-licensed software · requires OpenTxl 11 or later
Read 4 Oct 2026 · github.com
On the record
- Analysis granularity
- It analyzes source code at file, function, or block granularity.github.com · read 4 Oct 2026
- Cross-system detection
- NiCadCross reports fragments from one system that appear as clones in a second system.github.com · read 4 Oct 2026
- Customization
- Configuration files support customized renaming, filtering, abstraction, and normalization before comparison.github.com · read 4 Oct 2026
- Dependencies
- NiCad 7.0 requires OpenTxl 11 or later; building its comparison tools requires Turing+ 6.2 or later.github.com · read 4 Oct 2026
- Detection threshold
- The default near-miss difference threshold is 0.30, and 0.00 means exact clones.github.com · read 4 Oct 2026
- Extensibility
- Plugins for other languages can be added when a TXL grammar is available.github.com · read 4 Oct 2026
- Install and use
- It can be run from its directory for personal use or installed system-wide with the provided installation script.github.com · read 4 Oct 2026
- Languages
- Included language plugins cover C, C#, Java, Python, PHP, Ruby, WSDL, and ATL.github.com · read 4 Oct 2026
- License
- The project uses an MIT-style license permitting use, modification, distribution, sublicensing, and sale subject to its stated conditions.github.com · read 4 Oct 2026
- Purpose
- NiCad is a near-miss source code clone detection system.github.com · read 4 Oct 2026
- Release
- The latest listed release is Open NiCad 7.0.1, described as the first open-source release of the clone detector.github.com · read 4 Oct 2026
- Reports
- Results include clone pairs and clone classes in XML-like formats, with optional browsable HTML reports.github.com · read 4 Oct 2026
- Support
- The repository's Issues page currently shows no open issues and says issue creation is restricted.github.com · read 4 Oct 2026