A desiderata for refactoring-based software modularity improvement
Proceedings of the 3rd India software engineering conference
Identifying Extract Class refactoring opportunities using structural and semantic cohesion measures
Journal of Systems and Software
Detecting software modularity violations
Proceedings of the 33rd International Conference on Software Engineering
Identifying method friendships to remove the feature envy bad smell (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
JDeodorant: identification and application of extract class refactorings
Proceedings of the 33rd International Conference on Software Engineering
An empirical study of long-lived code clones
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
Supporting design model refactoring for improving class responsibility assignment
Proceedings of the 14th international conference on Model driven engineering languages and systems
A methodology to assess the impact of design patterns on software quality
Information and Software Technology
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
Information and Software Technology
Identification and application of Extract Class refactorings in object-oriented systems
Journal of Systems and Software
Identification of generalization refactoring opportunities
Automated Software Engineering
Visualizing the refactoring of classes via clustering
ACSC '11 Proceedings of the Thirty-Fourth Australasian Computer Science Conference - Volume 113
Dynamic profiling-based approach to identifying cost-effective refactorings
Information and Software Technology
Refactoring software packages via community detection in complex software networks
International Journal of Automation and Computing
On the existence of high-impact refactoring opportunities in programs
ACSC '12 Proceedings of the Thirty-fifth Australasian Computer Science Conference - Volume 122
Towards extensive software architecture erosion repairs
ECSA'13 Proceedings of the 7th European conference on Software Architecture
To what extent can maintenance problems be predicted by code smell detection? - An empirical study
Information and Software Technology
Investigating the evolution of code smells in object-oriented systems
Innovations in Systems and Software Engineering
Hi-index | 0.00 |
Placement of attributes/methods within classes in an object-oriented system is usually guided by conceptual criteria and aided by appropriate metrics. Moving state and behavior between classes can help reduce coupling and increase cohesion, but it is nontrivial to identify where such refactorings should be applied. In this paper, we propose a methodology for the identification of Move Method refactoring opportunities that constitute a way for solving many common Feature Envy bad smells. An algorithm that employs the notion of distance between system entities (attributes/methods) and classes extracts a list of behavior-preserving refactorings based on the examination of a set of preconditions. In practice, a software system may exhibit such problems in many different places. Therefore, our approach measures the effect of all refactoring suggestions based on a novel Entity Placement metric that quantifies how well entities have been placed in system classes. The proposed methodology can be regarded as a semi-automatic approach since the designer will eventually decide whether a suggested refactoring should be applied or not based on conceptual or other design quality criteria. The evaluation of the proposed approach has been performed considering qualitative, metric, conceptual, and efficiency aspects of the suggested refactorings in a number of open-source projects.