The development of a software clone detector

Davey, N., Barson, P., Field, S., Frank, R. and Tansley, D. (1995) The development of a software clone detector. pp. 219-236. ISSN 1198-5577
Copy

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.


picture_as_pdf
900784.pdf
Available under Creative Commons: 4.0

View Download

Explore Further

Read more research from the creator(s):

Find work associated with the faculties and division(s):