Journal article

Will this clone be short-lived? Towards a better understanding of the characteristics of short-lived clones

P Thongtanunam, W Shang, AE Hassan

Empirical Software Engineering | Published : 2019

Abstract

Code clones are created when a developer duplicates a code fragment to reuse existing functionalities. Mitigating clones by refactoring them helps ease the long-term maintenance of large software systems. However, refactoring can introduce an additional cost. Prior work also suggest that refactoring all clones can be counterproductive since clones may live in a system for a short duration. Hence, it is beneficial to determine in advance whether a newly-introduced clone will be short-lived or long-lived to plan the most effective use of resources. In this work, we perform an empirical study on six open source Java systems to better understand the life expectancy of clones. We find that a larg..

View full abstract

University of Melbourne Researchers