CloneWorks
github.com
What it is
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.
Spec sheet
- Purpose
- CloneWorks prepares source code and detects code clones in the prepared fragments.Read 3 Oct 2026 · github.com
- 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.Read 3 Oct 2026 · github.com
- Support
- Jeffrey Svajlenko invites questions and bug reports by email and says he is happy to assist with using CloneWorks.Read 3 Oct 2026 · github.com
- Clone types
- The repository describes a test run that performs Type-3 clone detection.Read 3 Oct 2026 · github.com
- Granularity
- The input builder supports block, function, and file granularity for code extraction.Read 3 Oct 2026 · github.com
- Languages
- The input builder lists Java, C, C++, C#, and Python as supported input languages.Read 3 Oct 2026 · github.com
- Large inputs
- A partitioned partial-index mode is available when the index exceeds available memory, and the README says its partition size must be determined experimentally.Read 3 Oct 2026 · github.com
- License terms
- The license permits copying, modification, and redistribution of CloneWorks and derivatives if they remain under the license and are distributed without charge.Read 3 Oct 2026 · github.com
- Similarity threshold
- The clone detector accepts a minimum similarity threshold from 0.0 to 1.0.Read 3 Oct 2026 · github.com
- System requirements
- CloneWorks requires FreeTXL 10.6 or later, gcc, make, and Java 7 or later.Read 3 Oct 2026 · github.com
- Warranty
- The license provides CloneWorks as-is without warranty, including implied warranties of merchantability or fitness for a particular purpose.Read 3 Oct 2026 · github.com
- Windows limitation
- The README says the input builder is slower on Cygwin because process creation is slower on Windows.Read 3 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Supports five listed input languages.
- Extracts blocks, functions, or files.
- Similarity threshold ranges from 0.0 to 1.0.
- Partitioned mode handles indexes exceeding available memory.
- Available for Linux, macOS, and Windows.
Limits
- Requires FreeTXL, gcc, make, and Java 7 or later.
- Partition size must be determined experimentally.
- Input building is slower on Cygwin.
- Redistribution and derivatives must remain free of charge.
Who it suits
CloneWorks suits developers or researchers who need to prepare code and detect clones across repositories. Users should be able to meet its listed dependencies and comply with its license terms.
Verdict
CloneWorks documents its input languages, extraction granularity, detection threshold, and system requirements. Its free license has acknowledgement and redistribution conditions, and the software comes without warranty.
Where Specifiction places it
- Code Clone Detection Tools#4 of 237.9