NiCad
github.com
What it is
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.
Spec sheet
- Purpose
- NiCad is a near-miss source code clone detection system.Read 4 Oct 2026 · github.com
- Platforms
- The README says NiCad should compile and run on Linux and macOS, and in Cygwin or MSYS2 (MinGW) on Windows.Read 4 Oct 2026 · github.com
- Support
- The repository's Issues page currently shows no open issues and says issue creation is restricted.Read 4 Oct 2026 · github.com
- License
- The project uses an MIT-style license permitting use, modification, distribution, sublicensing, and sale subject to its stated conditions.Read 4 Oct 2026 · github.com
- Headquarters
- Kingston, CanadaRead 28 Sep 2026 · github.com
- Analysis granularity
- It analyzes source code at file, function, or block granularity.Read 4 Oct 2026 · github.com
- Cross-system detection
- NiCadCross reports fragments from one system that appear as clones in a second system.Read 4 Oct 2026 · github.com
- Customization
- Configuration files support customized renaming, filtering, abstraction, and normalization before comparison.Read 4 Oct 2026 · github.com
- Dependencies
- NiCad 7.0 requires OpenTxl 11 or later; building its comparison tools requires Turing+ 6.2 or later.Read 4 Oct 2026 · github.com
- Detection threshold
- The default near-miss difference threshold is 0.30, and 0.00 means exact clones.Read 4 Oct 2026 · github.com
- Extensibility
- Plugins for other languages can be added when a TXL grammar is available.Read 4 Oct 2026 · github.com
- Install and use
- It can be run from its directory for personal use or installed system-wide with the provided installation script.Read 4 Oct 2026 · github.com
- Languages
- Included language plugins cover C, C#, Java, Python, PHP, Ruby, WSDL, and ATL.Read 4 Oct 2026 · github.com
- Release
- The latest listed release is Open NiCad 7.0.1, described as the first open-source release of the clone detector.Read 4 Oct 2026 · github.com
- Reports
- Results include clone pairs and clone classes in XML-like formats, with optional browsable HTML reports.Read 4 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Analyzes files, functions, or blocks.
- Includes plugins for eight named languages.
- Supports customized filtering and normalization.
- Optional browsable HTML reports.
- Free under an MIT-style license.
Limits
- Requires OpenTxl 11 or later.
- Building comparison tools requires Turing+ 6.2 or later.
- Other language plugins require an available TXL grammar.
- Issue creation is restricted on the repository page.
Who it suits
NiCad suits developers or teams looking for similar code fragments across repositories and who can work with its supported languages or provide a TXL grammar. It also suits users who want configurable clone comparisons and XML-like or HTML reports.
Verdict
NiCad offers configurable clone detection at several code granularities, with both structured results and optional HTML reports. Check its OpenTxl and Turing+ requirements and language-plugin coverage before adopting it.
Where Specifiction places it
- Code Duplication Detection Tools#7 of 187.7
- Code Clone Detection Tools#10 of 237.7