Publication | Closed Access
Experiment on the automatic detection of function clones in a software system using metrics
535
Citations
9
References
1996
Year
Software MaintenanceEngineeringVerificationData DeduplicationSoftware EngineeringSource Code AnalysisSoftware AnalysisFormal VerificationAutomated Software EngineeringSystems EngineeringFunction ClonesSoftware MiningCloning LevelsSource CodeRuntime VerificationComputer EngineeringComputer ScienceFunction MetricsStatic Program AnalysisSoftware DesignSoftware VerificationContent Similarity DetectionProgram AnalysisSoftware TestingFormal MethodsSoftware SystemSystem SoftwareAutomatic Detection
The paper proposes a technique to automatically detect duplicate and near‑duplicate functions in large software systems. The method extracts 21 function metrics with Datrix/sup TM®, groups them into four comparison points, and assigns functions to one of eight ordinal cloning levels—from exact copies to distinct functions—using defined thresholds and a detailed process. Applying the technique to two telecommunication monitoring systems of one million lines demonstrated its effectiveness and highlighted its usefulness for monitoring maintainability in large software systems.
This paper presents a technique to automatically identify duplicate and near duplicate functions in a large software system. The identification technique is based on metrics extracted from the source code using the tool Datrix/sup TM/. This clone identification technique uses 21 function metrics grouped into four points of comparison. Each point of comparison is used to compare functions and determine their cloning level. An ordinal scale of eight cloning levels is defined. The levels range from an exact copy to distinct functions. The metrics, the thresholds and the process used are fully described. The results of applying the clone detection technique to two telecommunication monitoring systems totaling one million lines of source code are provided as examples. The information provided by this study is useful in monitoring the maintainability of large software systems.
| Year | Citations | |
|---|---|---|
Page 1
Page 1