Title :
Identification of high-level concept clones in source code
Author :
Marcus, Andrian ; Maletic, Jonathan I.
Author_Institution :
Dept. of Comput. Sci., Kent State Univ., OH, USA
Abstract :
Source code duplication occurs frequently within large software systems. Pieces of source code, functions, and data types are often duplicated in part or in whole, for a variety of reasons. Programmers may simply be reusing a piece of code via copy and paste or they may be "re-inventing the wheel". Previous research on the detection of clones is mainly focused on identifying pieces of code with similar (or nearly similar) structure. Our approach is to examine the source code text (comments and identifiers) and identify implementations of similar high-level concepts (e.g., abstract data types). The approach uses an information retrieval technique (i.e., latent semantic indexing) to statically analyze the software system and determine semantic similarities between source code documents (i.e., functions, files, or code segments). These similarity measures are used to drive the clone detection process. The intention of our approach is to enhance and augment existing clone detection methods that are based on structural analysis. This synergistic use of methods will improve the quality of clone detection. A set of experiments is presented that demonstrate the usage of semantic similarity measure to identify clones within a version of NCSA Mosaic.
Keywords :
abstract data types; computational linguistics; information retrieval; program diagnostics; software reusability; NCSA Mosaic; abstract data types; clone detection; data types; high-level concept clone identification; high-level concepts; information retrieval technique; large software systems; latent semantic indexing; semantic similarities; semantic similarity. measure; similarity measures; source code documents; source code duplication; source code reuse; source code text; static analysis; structural analysis; synergistic methods; Cloning; Computer science; Documentation; Indexing; Information analysis; Information retrieval; Programming profession; Software systems; Wheels;
Conference_Titel :
Automated Software Engineering, 2001. (ASE 2001). Proceedings. 16th Annual International Conference on
Print_ISBN :
0-7695-1426-X
DOI :
10.1109/ASE.2001.989796