MMRUC3: A recommendation approach of move method refactoring using coupling, cohesion, and contextual similarity to enhance software design

Summary Placement of methods is one of the most important design activities for any object‐oriented application in terms of coupling and cohesion. Due to method misplacement, the application becomes tightly coupled and loosely cohesive, reflecting inefficient design. Therefore, a feature envy code s...

Full description

Saved in:
Bibliographic Details
Published inSoftware, practice & experience Vol. 48; no. 9; pp. 1560 - 1587
Main Authors Rahman, Md. Masudur, Riyadh, Rashed Rubby, Khaled, Shah Mostafa, Satter, Abdus, Rahman, Md. Rayhanur
Format Journal Article
LanguageEnglish
Published Bognor Regis Wiley Subscription Services, Inc 01.09.2018
Subjects
Online AccessGet full text
ISSN0038-0644
1097-024X
DOI10.1002/spe.2591

Cover

More Information
Summary:Summary Placement of methods is one of the most important design activities for any object‐oriented application in terms of coupling and cohesion. Due to method misplacement, the application becomes tightly coupled and loosely cohesive, reflecting inefficient design. Therefore, a feature envy code smell emerges from the application, as many methods use more features of other classes than its current class. Hence, development and maintenance time, cost, and effort are increased. To refactor the code smell and enhance the design quality, move method refactoring plays a significant role through grouping similar behaviors of methods. This is because the manual refactoring process is infeasible due to the necessity of huge time and most of the existing techniques consider only coupling‐based and/or cohesion‐based information of nonstatic entities (methods and attributes) for the recommendation. However, this article proposes an approach that uses contextual information, based on information retrieval techniques, along with dependency (coupling and cohesion)‐based information of the application for the recommendation. In addition, the approach incorporates both static and nonstatic entities in the recommendation process. For validation, the approach is applied on seven well‐known open source projects. The results of the experimental evaluation indicate that the proposed approach provides better results with an average precision of 18.91%, a recall of 69.91%, and an F‐measure of 29.77% than the JDeodorant tool (a widely used eclipse plugin for refactorings). Moreover, this article establishes several relationships between the accuracy of the approach and project standards and sizes.
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:0038-0644
1097-024X
DOI:10.1002/spe.2591