Enhancing Code Clone Management by Prioritizing Code Clones
Loading...
Files
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Software development is often accompanied by the activities of reusing exisiting software, with or without modification, along with building application from scratch. Software reuse done through copy-paste activities gives rise to duplicated fragments of code called clones. Code clones tend to reduce maintainability of the system being developed and numerous code clone detection techniques and tools have been developed for the same. Detected code clones require appropriate management. Code clone management involves a deep analysis of the code clones in order to make informed decisions regarding their removal. Clone management can be enhanced by deciding the order for removal of clones. For deciding the order, it takes into account the maintenance overhead that would be incured if the clones were not fixed. This thesis introduces an approach that takes the detected code clones as input and gives a prioritized list of the same. The code clones are ranked on the basis of their criticality or severity. The approach works by estimating the maintenance overhead in terms of size of clones, frequency of their repitition and cyclomatic compexity. Calculating the maintenance overhead, in advance, estimates the efforts that would be required in maintaining the clones if they were not fixed. Thus the clones having higher maintenance overhead would get a higher priority as compared to others and would be removed or refactored first.
Description
Master of Engineering-Thesis
