4.4 Article

Automating extract class refactoring: an improved method and its evaluation

Journal

EMPIRICAL SOFTWARE ENGINEERING
Volume 19, Issue 6, Pages 1617-1664

Publisher

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

Keywords

Extract class refactoring; Cohesion; Coupling; Graph clustering algorithms

Funding

  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

Ask authors/readers for more resources

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.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.4
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

No Data Available
No Data Available