Sunday, October 25, 2026 4,350 lists 78,100 records on file
List your app or device

  1. Home
  2. Code Clone Detection Tools
  3. CCFinderSW

CCFinderSW

What it is

CCFinderSW is a token-based tool that detects similar code pairs and writes the results to an output file. It runs from the command line, taking a source directory, a language, and an output file as arguments. Its matching excludes clone pairs that contain inserted or deleted sentences. The minimum clone-token threshold starts at 50 and can be changed with the -t argument. Language setup uses optional files to tailor lexical analysis; a comment rule file is required for the target language, and a reserved-word list is optional but recommended. Without that list, the tool detects type 1 clones; with it, it detects type 1 and type 2 clones. Its lexer does not use separate mechanisms for each language and is not optimized for individual languages. The Java implementation recommends Java 8 or later and is listed for Windows; the README names Windows 10 Pro as its test environment. Output is available in CCFinder, CCFinderX, CCFinderSW text, or JSON formats, and clone pair output can be read by Gemini or CCFX. The repository provides a ZIP download and includes an MIT license.

For and against

For

  • Token-based clone detection outputs similar code pairs.
  • Threshold defaults to 50 tokens and can be changed.
  • Supports CCFinder, CCFinderX, text, and JSON output.
  • Clone pair output can be read by Gemini or CCFX.

Against

  • Requires Java 8 or later.
  • Requires a comment rule file for each target language.
  • Lexer is not optimized for individual languages.
  • PrettyPrinter and MetricsFiltering arguments are not implemented.

The verdict

CCFinderSW provides configurable token-based clone detection and several output formats. Its language setup requires a comment rule file, and its documentation identifies limitations in language-specific lexical analysis.

Who it suits

CCFinderSW suits developers who want to find token-based code clones from a Windows command line. Users need Java 8 or later and a comment rule file for the target language.

Plans and prices

CCFinderSW

Free

MIT-licensed software · Java Runtime Environment 8 or later

Every plan, in full

On the record

Affiliation
The README lists the author's affiliation as the Graduate School of Information Science and Technology, Osaka University, Osaka, Japan.github.com · read 4 Oct 2026
Author
The repository identifies Yuichi Semura as the author.github.com · read 4 Oct 2026
Bundled libraries
The README says the software contains libraries distributed under Apache License 2.0.github.com · read 4 Oct 2026
Clone matching
The README says it excludes clone pairs containing inserted or deleted sentences.github.com · read 9 Oct 2026
Clone types
Without a reserved-word list, the tool detects type 1 clones; with one, it detects type 1 and type 2 clones.github.com · read 9 Oct 2026
Command line
The usage guide shows running the tool from the command line with a source directory, language, and output file arguments.github.com · read 4 Oct 2026
Detection behavior
It excludes clone pairs that contain inserted or deleted sentences.github.com · read 4 Oct 2026
Detection threshold
The minimum clone token threshold defaults to 50 and can be changed with the -t argument.github.com · read 9 Oct 2026
Download
The repository provides a CCFinderSW-1.0.zip download.github.com · read 4 Oct 2026
Encoding
The command line supports Shift-JIS, UTF-8, EUC-JP, and automatic encoding recognition.github.com · read 9 Oct 2026
Execution
The tool runs from the command line and recommends Java 8 or later.github.com · read 9 Oct 2026
Language configuration
Language-specific lexical analysis is configured through optional files that users can modify.github.com · read 9 Oct 2026
Language handling
It tailors lexical analysis to each language using optional files that users can modify.github.com · read 4 Oct 2026
Language limitation
It does not use separate lexical analysis mechanisms for each language, and its lexer algorithm is not optimized for each language.github.com · read 4 Oct 2026
Language setup requirement
Execution requires a comment rule file for the target language; a reserved-word list is optional but recommended.github.com · read 9 Oct 2026
License
The repository license file includes the MIT License for CCFinderSW and a BSD 3-clause license for ANTLR components.github.com · read 9 Oct 2026
Output details
CCFinderSW output can represent clone information as pairs or sets in a text file.github.com · read 9 Oct 2026
Output formats
It can output clone data in CCFinder, CCFinderX, CCFinderSW text, or JSON formats.github.com · read 9 Oct 2026

The review

CCFinderSW is a command-line utility for developers comparing source code for duplication, especially those who want to tune token-based matching and work with text or JSON results. It is a practical fit for Java users comfortable preparing language configuration files; teams wanting language-specific lexical analysis or a graphical workflow should look elsewhere.

Overview

The tool finds similar code pairs by comparing tokens, with a default minimum clone threshold of 50 tokens that users can adjust. It excludes pairs containing inserted or deleted sentences, so its results are focused on matches without those edits. That boundary can make it a poor fit when a review needs to catch clones that have been altered by adding or removing sentences.

CCFinderSW runs from the command line, taking a source directory, language and output file as arguments. It is implemented only in Java and recommends Java 8 or later. The repository provides a downloadable ZIP, and the README names Windows 10 Pro as its test environment. Its command-line design suits scripted or self-hosted work, but requires a developer comfortable with that setup.

Key features

  • Adjustable token threshold: The default minimum is 50 tokens, and the -t argument changes it. This gives users direct control over the minimum size of reported matches.
  • Language configuration: Each target language needs a comment-rule file. A reserved-word list is optional but recommended: without one, the tool detects type 1 clones; with one, it detects both type 1 and type 2. Users can modify the language files, but the lexer is not optimized separately for each language, limiting the appeal for language-specific analysis.
  • Flexible results: Output is available in CCFinder, CCFinderX, CCFinderSW text and JSON formats. CCFinderSW text can organize clone information as pairs or sets, and Gemini or CCFX can read the clone-pair output.
  • Encoding support: The command line accepts Shift-JIS, UTF-8 and EUC-JP, as well as automatic encoding recognition, useful when source files use different encodings.
  • Documented constraints: Troubleshooting guidance is provided, but the PrettyPrinter and MetricsFiltering command-line arguments are marked as not implemented. Users who need those functions should not plan on them in this tool.

Pricing

CCFinderSW costs nothing under the MIT License, with no free trial. The free plan includes the clone detection software; it recommends Java Runtime Environment 8 or later. There are no paid tiers or seat limits stated. This is a straightforward choice for individual developers and teams able to run and configure the tool themselves.

Platforms

Windows is the listed platform, and Windows 10 Pro is the README's test environment. The software is implemented in Java and recommends Java 8 or later. Self-hosting is supported, making it suitable for keeping source analysis within a team's own environment.

Who it's for

CCFinderSW suits developers who need configurable token-based clone detection, can provide language comment rules, and value several output formats or compatibility with Gemini and CCFX. It is less suitable for users who expect a graphical workflow, language-specific optimized lexers, or detection that includes pairs with inserted or deleted sentences.

Pros and cons

  • Pros: Free MIT-licensed software; adjustable minimum token threshold; four output formats, including JSON; configurable language files and support for type 1 and type 2 clone detection when a reserved-word list is supplied.
  • Cons: Requires a comment-rule file for the target language; its lexer is not optimized separately for each language; omits clone pairs with inserted or deleted sentences; two documented command-line arguments are not implemented.

Alternatives

Code Clone Detection Tools is the broader directory for comparing options in this category.

  • Duplo is another free option for Linux, macOS and Windows, distributed under GNU GPL v2 or later with prebuilt binaries for Alpine Linux, macOS and Windows.
  • PMD is a free downloadable static code analyzer for Linux, macOS, self-hosted environments and Windows, under a BSD-style license.
  • NiCad is free and open source for Linux, macOS, self-hosted environments and Windows, and requires OpenTxl 11 or later.
  • phpcpd-next is a free open-source option for API, Linux and self-hosted use; it requires PHP 8.4 or later plus ext-dom and ext-mbstring, and installs via Composer.
  • dcd is a free option for Linux and macOS under AGPL-3.0; priority direct email support from the developer is also offered, with custom pricing.
  • Simian Similarity Analyzer is a free open-source option under Apache License 2.0 for Linux, macOS and Windows.
  • CloneWorks is free for Linux, macOS and Windows, with use requiring acknowledgement and redistribution and derivatives required to remain free under its license.
  • Algo VPN is a free self-hosted VPN setup tool for Android, iOS, Linux, macOS and Windows; cloud infrastructure costs are separate.

Verdict

Choose CCFinderSW if you want free, self-hosted token-based clone detection with adjustable thresholds and multiple output formats, and can handle Java command-line use and per-language configuration. Its clearest reason to look elsewhere is the combination of required comment rules and a lexer that is not optimized for each language, particularly if sentence-level edits must still count as clone matches.

Alternatives to CCFinderSW

Every alternative, ranked