Clone Smells in Software Evolution
Clone Smells in Software Evolution
Authors: Tibor Bakota, Rudolf Ferenc, Tibor Gyimóthy
Software Maintenance, 2007. ICSM 2007. IEEE International Conference on
Volume , Issue , 2-5 Oct. 2007 Page(s):24 - 33
Digital Object Identifier 10.1109/ICSM.2007.4362615
Abstract:
Although source code cloning (copy&paste programming) represents a significant threat to the maintainability of a software system, problems usually start to arise only when the system evolves.
Most of the related research papers tackle the question of finding code clones in one particular version of the software only, leaving the dynamic behavior of the clones out of consideration. Eliminating these clones in large software systems often seems absolutely hopeless, as there might exist several thousands of them. Alternatively, tracking the evolution of individual clones can be used to identify those occurrences that could really cause problems in the future versions. In this paper we present an approach for mapping clones from one particular version of the software to another one, based on a similarity measure. This mapping is used to define conditions under which clones become suspicious (or "smelly") compared to their other occurrences. Accordingly, these conditions introduce the notion of dynamic clone smells. The usefulness of these smells is validated on the Mozilla Firefox internet browser, where the approach was able to find specific bugs that resulted from neglecting earlier copy&paste activities.
Journal/Proceedings/Conference: http://ieeexplore.ieee.org/xpl/RecentCon.jsp?punumber=4362596
Download full paper: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&isnumber=&arnumber=4362615
Authors: Tibor Bakota, Rudolf Ferenc, Tibor Gyimóthy
Software Maintenance, 2007. ICSM 2007. IEEE International Conference on Volume , Issue , 2-5 Oct. 2007 Page(s):24 - 33 Digital Object Identifier 10.1109/ICSM.2007.4362615
Abstract:
Although source code cloning (copy&paste programming) represents a significant threat to the maintainability of a software system, problems usually start to arise only when the system evolves.
Most of the related research papers tackle the question of finding code clones in one particular version of the software only, leaving the dynamic behavior of the clones out of consideration. Eliminating these clones in large software systems often seems absolutely hopeless, as there might exist several thousands of them. Alternatively, tracking the evolution of individual clones can be used to identify those occurrences that could really cause problems in the future versions. In this paper we present an approach for mapping clones from one particular version of the software to another one, based on a similarity measure. This mapping is used to define conditions under which clones become suspicious (or "smelly") compared to their other occurrences. Accordingly, these conditions introduce the notion of dynamic clone smells. The usefulness of these smells is validated on the Mozilla Firefox internet browser, where the approach was able to find specific bugs that resulted from neglecting earlier copy&paste activities.
Journal/Proceedings/Conference: http://ieeexplore.ieee.org/xpl/RecentCon.jsp?punumber=4362596
Download full paper: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&isnumber=&arnumber=4362615











