Unification and refactoring of clones

Software Maintenance, Reengineering and Reverse Engineering(2014)

引用 32|浏览19
暂无评分
摘要
Code duplication has been recognized as a potentially serious problem having a negative impact on the maintain-ability, comprehensibility, and evolution of software systems. In the past, several techniques have been developed for the detection and management of software clones. Existing code duplication can be eliminated by extracting the common functionality into a single module. However, the unification and refactoring of software clones is a challenging problem, since clones usually go through several modifications after their initial introduction. In this paper we present an approach for the unification and refactoring of software clones that overcomes the limitations of previous approaches. More specifically, our approach is able to detect and parameterize non-trivial differences between the clones. Moreover, it can find an optimal mapping between the statements of the clones that minimizes the number of differences. We compared the proposed technique with a competitive clone refactoring tool and concluded that our approach is able to find a significantly larger number of refactorable clones.
更多
查看译文
关键词
program diagnostics,software maintenance,code duplication,software clone refactoring,software clone unification,software system comprehensibility,software system evolution,software system maintainability
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要