Code Clone Related Tools
-> Japanese Page
Last update 18 Mar. 2005, Since 2002
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
A code clone is a pair(or set) of code fragments in source files of a software product. It is pointed out that a code clone makes software maintenance difficult.
The code clone problem sometimes becomes serious one, especially for the large scale software. The developer can not even find out code clones by hand, without help of code clone detection tools.
To appear soon.
To appear soon.
Clone metrics are the metrics that measure the characteristics of clone classes (i.e., sets of fragments of the code which are exactly the same as or similar to each other).
Metrics that measures the features of modules (source files)
Q: Where can I get this tool?
A: For several reasons, the distribution of CCFinder/Gemini is currently under strict control. However, CCFinder/Gemini can be distributed to you on the condition that you will cooperate on our research. For details, please contact us
[Award] CCFinder was chosen as one of the Clone Awards in 2002 in a Workshop on Detection of Software Clones co-located with the International Conference on Software Maintenance(ICSM) 2002 (2002/10/02)
[Newspaper Article] "Osaka University : 'a 100 times faster search of the positions to be revised'", Nikkei Industrial newspaper, 2002 May 17 (Fri), morning edition p.8, 2002.5.17. (in Japanese)
[Newspaper Article] "Computer software 'a fast detection method of copied parts', developed by a professor at Osaka University and his coworkers", Yomiuri newspaper, 2002 May 8 (Wed), morning edition, p.2 General, 2002.5.2 (in Japanese)
[Higo2004-3] Yoshiki Higo, Toshihiro Kamiya, Shinji Kusumoto, Katsuro Inoue, "ARIES: Refactoring Support Environment Based on Code Clone Analysis", The 8th IASTED International Conference on Software Engineering and Applications(SEA 2004), pp.222-229, Cambridge, USA (November 9-11, 2004).2002
[Ueda2002-3] 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).
[Ueda2002-2] Yasushi Ueda, Toshihiro Kamiya, Shinji Kusumoto, and Katsuro Inoue, "On Detection of Gapped Code Clones using Gap Locations," APSEC 2002. (To appear)
[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).
[Monden2002] A. Monden, D. Nakae, T. Kamiya, S. Sato, and K. Matsumoto, "Software quality analysis by code clones in industrial legacy software," Proc. of the 8th IEEE Symposium on Software Metrics (METRICS2002), pp. 87-94, Ottawa, Canada, (June 4-7, 2002).
[Ueda2002] Yasushi Ueda, Toshihiro Kamiya, Shinji Kusumoto, and Katsuro Inoue, "Gemini: Maitenance Support Environment Based on Code Clone Analysis," Proc. of the 8th IEEE Symposium on Software Metrics (METRICS2002), pp. 67-76, Ottawa, Canada, (June 4-7, 2002).2001
[Inoue2001] Katsuro Inoue, Toshihiro Kamiya, and Shinji Kusumoto, "Method for Detecting Code Clones," Computer Software, Vol.18, No.5, pp.47-54, (2001-9) (in Japanese).
[Ueda2001] Yasushi Ueda, Toshihiro Kamiya, Shinji Kusumoto, and Katsuro Inoue, "Source Code Analysis System using Code Clone Detection Tool", IEICE SS2001-14, Vol.101, No.240, pp.17-24, (2001-7) (in Japanese).
[Yamamoto2001] Tetsuo Yamamoto, Makoto Matsushita, Toshihiro Kamiya, and Katsuro Inoue, "Similarity Metric CSR Using Code Clone Detection Tool", IEICE SS2001-15, Vol.101, No.240, pp.25-32, (2001-7).
[Kamiya2001-3] Toshihiro Kamiya, Fumiaki Ohata, Kazuhiro Kondou, Shinji Kusumoto, and Katuro Inoue: "Maintenance support tools for Java programs: CCFinder and JAAT", Proc. of The 23rd Int'l Conf. on Software Eng. (ICSE'2001), pp. 837-838, Toronto, Canada, (May, 2001).
[Kamiya2001-2] Toshihiro Kamiya, "Code Clone Detection Method", Proceedings of Winter Workshop in Kanazawa, IPSJ SIGSE, pp.21-22, (2001-1).
[Kamiya2001] Toshihiro Kamiya, Shinji Kusumoto, and Katsuro Inoui, "A Token-based Code Clone Detection Technique and Its Evaluation", IEICE SS2000-42, Vol.100, No.570, pp. 41-48, (2001-1)
[Nakae2001] Daikai Nakae, Toshihiro Kamiya, Akito Monden, Hiroshi Kato, Shin-ichi Sato, and Katsuro Inoue, "Quantitative Analysis of Cloned code on Legacy Software", IEICE SS2000-49, Vol. 100, No. 570, pp. 57-64, (2001-1).
[Baker1992] B.S. Baker, "A Program for Identifying Duplicated Code", Proc. Computing Science and Statistics: 24th Symposium on the Interface, 24, pp. 49-57 Mar. 1992.
[Baker1995] B.S. Baker, "On finding Duplication and Near-Duplication in Large Software System", Proc. Second IEEE Working Conf. on Reverse Eng., pp. 86-95 Jul. 1995.
[Balazinska1999] M. Balazinska, E. Merlo, M. Dagenais, B. Lague, and K.A. Kontogiannis, "Measuring Clone Based Reengineering Opportunities", Proc. 6th IEEE Int'l Symposium on Software Metrics (METRICS '99), pp. 292-303, Boca Raton, Florida, Nov. 1999.
[Baxter1998] I.D. Baxter, A. Yahin, L. Moura, M. Sant'Anna, and L. Bier, "Clone Detection Using Abstract Syntax Trees", Proc. IEEE Int'l Conf. on Software Maintenance (ICSM) '98, pp. 368-377, Bethesda, Maryland, Nov. 1998.
[Burd2002] Elizabeth Burd, John Bailey, "Evaluating Clone Detection Tools for Use during Preventative Maintenance," Proc. 2nd IEEE International Workshop on Source Code Analysis and Manipulation (SCAM) 2002, pp. 36-43. Montreal, Canada, Oct. 2002.
[Ducasse1999] S. Ducasse, M. Rieger, and S. Demeyer. "A Language Independent Approach for Detecting Duplicated Code", Proc. IEEE Int'l Conf. on Software Maintenance (ICSM) '99, pp. 109-118. Oxford, England. Aug. 1999.
[Fowler1999] Martin Fowler. Refactoring: improving the design of existing code. Addison Wesley. 1999.
[Kontogiannis1996] K. Kontogiannis, R. DeMori, E. Merlo, M. Galler, and M.Bernstein, "Pattern Matching Techniques for Clone Detection," Journal of Automated Software Engineering, Kluwer Academic Publishers, Vol. 3. pp.77-108, 1996.
[Imai2002] T. Imai, Y. Kataoka, and T. Fukaya, "Evaluating software maintenance cost using functional redundancy metrics," In Proc. 26th International Computer Software and Applications Conference (compsac 2002), pp.299-306, 2002.
[Johnson1994] J. H. Johnson, "Substring Matching for Clone Detection and Change Tracking", Proc. IEEE Int'l Conf. on Software Maintenance (ICSM) '94, pp. 120-126. Victoria, British Columbia, Canada. Sep. 1994.
[Mayrand1996] J. Mayland, C. Leblanc, and E. M. Merlo. "Experiment on the Automatic Detection of Function Clones in a Software System Using Metrics", Proc. IEEE Int'l Conf. on Software Maintenance (ICSM) '96, pp. 244-253, Monterey, California, Nov. 1996.
[Laguë1997] B. Laguë, E.M. Merlo, J. Mayrand, and J. Hudepohl. "Assessing the Benefits of Incorporating Function Clone Detection in a Development Process", Proc. IEEE Int'l Conf. on Software Maintenance (ICSM) '97, pp. 314-321, Bari, Italy. Oct. 1997.
[Prechelt2000] Prechelt, L.; Malpohl, G.; Philippsen, M. "JPlag: Finding plagiarisms among a set of programs," Technical Report, University of Karlsruhe, Department of Informatics, 2000.
This project is supported by Japan Society for the Promotion of Science, Grant-in-Aid for Scientific Research (A) (JP17200001) since April 2004 to March 2009.