A Constraint Programming Approach to Conflict-Aware Optimal Scheduling of Prioritized Code Clone Refactoring

A Constraint Programming Approach to Conflict-Aware Optimal Scheduling of Prioritized Code Clone Refactoring
复制标题

DOI:
10.1109/scam.2011.21
复制
发表时间:
2011-09
期刊:
2011 IEEE 11th International Working Conference on Source Code Analysis and Manipulation
影响因子:
--
通讯作者:
M. Zibran;C. Roy
M. Zibran;C. Roy
中科院分区:
其他
文献类型:
--
作者:
M. Zibran;C. Roy

文献摘要

被引文献

相似文献

重复代码,也称为代码克隆,是一种有害的“代码异味”,通常需要通过重构来消除,以提高可维护性。在所有潜在的重构机会中,一组重构活动的选择和顺序可能会对设计/代码质量产生显著影响。此外,这些重构之间可能存在依赖关系和冲突。组织可能还会对某些重构活动设定优先级。要解决所有这些冲突、优先级和依赖关系,手动制定最优重构计划即使不是不可能,也是非常耗时费力的。因此,一个自动化的重构调度器是必要的,它将使收益最大化并使重构工作量最小化。在本文中,我们提出了一个重构工作量模型,并提出了一种约束编程方法,用于对代码克隆重构进行具有冲突感知的最优调度。
Duplicated code, also known as code clones, are one of the malicious ‘code smells' that often need to be removed through refactoring for enhancing maintainability. Among all the potential refactoring opportunities, the choice and order of a set of refactoring activities may have distinguishable effect on the design/code quality. Moreover, there may be dependencies and conflicts among those refactorings. The organization may also impose priorities on certain refactoring activities. Addressing all these conflicts, priorities, and dependencies, manual formulation of an optimal refactoring schedule is very expensive, if not impossible. Therefore, an automated refactoring scheduler is necessary, which will maximize benefit and minimize refactoring effort. In this paper, we present a refactoring effort model, and propose a constraint programming approach for conflict-aware optimal scheduling of code clone refactoring.