Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
On software maintenance process improvement based on code clone analysis
Higo Y., Ueda Y., Kamiya T., Kusumoto S., Inoue K.  Product Focused Software Process Improvement (Proceedings of the 4th International Conference, Dec 9-11, 2002)185-197.2002.Type:Proceedings
Date Reviewed: Sep 29 2003

CCFinder/Gemini is a token-based code clone detection system for industrial strength software. The lexical analysis employed, however, does not always result in semantically cohesive clone pairs, and users of CCFinder/Gemini must manually determine if clone pairs can be merged. In this paper, an extension to Gemini that supports the extraction of semantically cohesive clone pairs is described. This extension is called the Code Clone Shaper. When using the extension, CCFinder reports a list of clone pairs found in its usual way. The Code Clone Shaper parses the source files separately, and calculates the positions of blocks (code portions enclosed by a pair of brackets). Blocks are then extracted from the original list reported by CCFinder.

In two case studies reported on in the paper, the use of the Code Clone Shaper reduced the number of clone pairs to 1/350 (from 338,574 to 972 clone pairs) and to 1/120 (from 12,033 to 103 clone pairs), greatly reducing the manual effort required by users of CCFinder/Gemini. Twenty-eight clones were found in the language tool ANTLR that could be replaced by a single parameterized method. Seven identical methods were found in the build tool ANT that could be replaced by a single method in a super class.

Additional insights might have emerged had a complete investigation been undertaken of all the clone pairs extracted by the Code Clone Shaper. The reader is also left wondering what the consequences would be of using different size thresholds for code clone detection. (It was set at 50 tokens for the two case studies reported.) Nevertheless, this paper is highly recommended to specialists in software maintenance.

Reviewer:  Andy Brooks Review #: CR128304 (0401-0027)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Software Engineering (D.2 )
 
 
Design Tools and Techniques (D.2.2 )
 
 
Reusable Software (D.2.13 )
 
Would you recommend this review?
yes
no
Other reviews under "Software Engineering": Date
Perspectives of system informatics: a comparative presentation of object-oriented programming with C++ and Java
Broy M. (ed), Zamulin A. (ed), Bjorner D., Springer-Verlag New York, Inc., Secaucus, NJ, 2002.  561, Type: Book (9783540430759)
Jul 3 2003
Relationship quality: the undervalued dimension of software quality
Russell B., Chatterjee S. Communications of the ACM 46(8): 85-89, 2003. Type: Article
Oct 14 2003
Executable JVM model for analytical reasoning: a study
Liu H., Moore J.  Interpreters, Virtual Machines and Emulators (Proceedings of the 2003 workshop, San Diego, California, Jun 12, 2003)15-23, 2003. Type: Proceedings
Sep 24 2003
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy