4.4 Article

Automating extract class refactoring: an improved method and its evaluation

期刊

EMPIRICAL SOFTWARE ENGINEERING
卷 19, 期 6, 页码 1617-1664

出版社

SPRINGER
DOI: 10.1007/s10664-013-9256-x

关键词

Extract class refactoring; Cohesion; Coupling; Graph clustering algorithms

资金

  1. US National Science Foundation [CCF-0845706, CCF-1017263]
  2. Division of Computing and Communication Foundations
  3. Direct For Computer & Info Scie & Enginr [1017263] Funding Source: National Science Foundation

向作者/读者索取更多资源

During software evolution the internal structure of the system undergoes continuous modifications. These continuous changes push away the source code from its original design, often reducing its quality, including class cohesion. In this paper we propose a method for automating the Extract Class refactoring. The proposed approach analyzes (structural and semantic) relationships between the methods in a class to identify chains of strongly related methods. The identified method chains are used to define new classes with higher cohesion than the original class, while preserving the overall coupling between the new classes and the classes interacting with the original class. The proposed approach has been first assessed in an artificial scenario in order to calibrate the parameters of the approach. The data was also used to compare the new approach with previous work. Then it has been empirically evaluated on real Blobs from existing open source systems in order to assess how good and useful the proposed refactoring solutions are considered by software engineers and how well the proposed refactorings approximate refactorings done by the original developers. We found that the new approach outperforms a previously proposed approach and that developers find the proposed solutions useful in guiding refactorings.

作者

我是这篇论文的作者
点击您的名字以认领此论文并将其添加到您的个人资料中。

评论

主要评分

4.4
评分不足

次要评分

新颖性
-
重要性
-
科学严谨性
-
评价这篇论文

推荐

暂无数据
暂无数据