Skip to content
SPECIFICTION
Get listed

NiCad

github.com

Free plan WindowsmacOSLinuxSelf-hosted

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

Free and open source Free MIT-licensed software · requires OpenTxl 11 or later Read 4 Oct 2026 · github.com

Every NiCad plan and price →

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

Alternatives to NiCadAll alternatives →