Skip to content

What's CCFinderX

Jacek Banaszczyk edited this page May 5, 2019 · 4 revisions

Author: Toshihiro Kamiya
Date: 2008/May/2
Contact: info@ccfinder.net
Copyright: 2005-2008 © Toshihiro Kamiya. All rights reserved.

Code clone is a duplicated code fragment in source file. Typically, code clones are generated by copy-and-paste programming. Existing of code clone makes it harder to modify source code. Moreover, it is also difficult to find code clones in large source bodies. Code clone is a "bad smell" in refactoring.

CCFinderX is a code clone detection tool, which is totally re-designed from the previous tool CCFinder Kamiya2002. Its characteristics are:

  • Multi-threading for multi-core CPU (10.2 or later)
  • AST-based preprocessing with an island-parser like parser.
  • Search functions (10.2 or later).
  • Support for programming languages in (as possible as) equal level
  • Users can adapt the tool to another programming languages or dialects.
  • Analysis using metrics of code clone
  • For interoperability with another tools, the tool can read/write data in TSV(tab separated values) text format.
  • Block shaper Higo2002, majoritarian shaper (10.2 or later).
  • P-match Baker1995.
  • Interactive analysis with multiple views of GUI front-end GemX.

(Note for CCFinder users: The GemX is a re-designed tool of Gemini Ueda2002.)

CCFinderX consists of a batch (command-line) tool clogo32 ccfx and its GUI front-end CCFinderX logo GemX.


This articles describe how to detect and analyze code clone using GemX:

Kamiya2002: Toshihiro Kamiya, Shinji Kusumoto, and Katsuro Inoue, "CCFinder: A Multi-Linguistic Token-based Code Clone Detection System for Large Scale Source Code," IEEE Trans. Software Engineering, vol. 28, no. 7, pp. 654-670, (2002-7).

Higo2002: Yoshiki Higo, Yasushi Ueda, Toshihiro Kamiya, Shinji Kusumoto and Katsuro Inoue, "On software maintenance process improvement based on code clone analysis", Proc. 4th International Conference, PROFES 2002 Rovaniemi, Finland, pp.185-197, (2002-12)

Baker1995: B.S. Baker, "On Finding Duplication and Near-Duplication in Large Software Systems," Proc. Second Working Conf. Reverse Eng. (WCRE '95), pp. 86-95,July 1995.

Ueda2002: Yasushi Ueda, Yoshiki Higo, Toshihiro Kamiya, Shinji Kusumoto, and Katsuro Inoue"Gemini: Code Clone Analysis Tool," Proc. of 2002 International Symposium on Empirical Software Engineering (ISESE2002), vol.2, pp.31-32, Nara-ken New Public Hall, Nara, Japan, (October 3-4, 2002).

Clone this wiki locally