The development of a software clone detector

N. Davey, P. Barson, S. Field, R. Frank, D. Tansley

    Research output: Contribution to journalArticlepeer-review

    78 Downloads (Pure)

    Abstract

    Cloning, the copying and modifying of blocks of code, is the most basic means of software reuse. Code cloning has been very extensively used within the software development design community. Unofficial surveys carried out within large, long term software development projects suggest that 25-30% of the modules in this kind of system may have been cloned. A system to detect clones of procedures in large software systems is described. The system uses a self organising neural net, a SOM, to cluster feature vectors associated with the procedures. We report how a prototype system was developed and subsequently enhanced into a full product quality tool. The limitations of the SOM-based tool are the long training times and the fixed number of clone classes that are created. A second neural net model, the Dynamic Competitive Learning (DCL) net, which overcomes both these limitations is also discussed as a possible component: the results of our initial trials with the SOM-based tool and the DCL-based prototype are given.
    Original languageEnglish
    Pages (from-to)219-236
    JournalInternational Journal of Applied Software Technology
    Volume1
    Issue number3/4
    Publication statusPublished - 1995

    Fingerprint

    Dive into the research topics of 'The development of a software clone detector'. Together they form a unique fingerprint.

    Cite this