Efficient Detection of Function Clones in Software Systems using the Fractal Dimension and Metrics

Salwa K. Abd-El-Hafiz


clone detection, data mining, software metrics, software maintenance


During maintenance, the detection of software clones is crucial for error checking as well as code adaptation and enhancement. For large software systems, an automated clone detection approach should efficiently find clone classes with high precision and recall percentages. Although many approaches have been developed for clone detection, their computational complexities are usually quadratic in the worst case. This paper proposes a new approach for the detection of function clones in software systems. The approach combines a data mining algorithm, fractal clustering, with a metrics-based representation of the software functions. Clone classes, rather than clone pairs, are directly detected by the proposed approach. For large software systems, the approach is very space efficient and linear in the size of the data set. Evaluation and comparison with other clone detection approaches is performed using three well-known, medium-size, open source C programs. The results of these initial case studies are very promising with respect to recall and precision.

Important Links:

Go Back