arrow
Return

Predicting move method refactoring opportunities in object-oriented code

delete2017-12-01
delete17
PRE
AI
J
Jehad Al Dallal *
DOI:10.1016/j.infsof.2017.07.013delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Context: Refactoring is the maintenance process of restructuring software source code to improve its quality without changing its external behavior. Move Method Refactoring (MMR) refers to moving a method from one class to the class in which the method is used the most often. Manually inspecting and analyzing the source code of the system under consideration to determine the methods in need of MMR is a costly and time-consuming process. Existing techniques for identifying MMR opportunities have several limitations, such as scalability problems and being inapplicable in early development stages. Most of these techniques do not consider semantic relationships. Objective: We introduce a measure and a corresponding model to precisely predict whether a class includes methods in need of MMR. The measure is applicable once a class has entered the early development stages without waiting for other classes to be developed. Method: The proposed measure considers both the cohesion and coupling aspects of methods. In addition, the measure uses structural and semantic data available within the class of interest. A statistical technique is applied to construct prediction models for classes that include methods in need of MMR. The models are applied on seven object-oriented systems to empirically evaluate their abilities to predict MMR opportunities. Results: The results show both that the prediction models based on the proposed measure had outstanding prediction abilities and that the measure was able to correctly detect more than 90% of the methods in need of MMR within the predicted classes. Conclusions: The proposed measure and corresponding prediction models are expected to greatly assist software engineers both in locating classes that include methods in need of MMR and in identifying these methods within the predicted classes. (C) 2017 Elsevier B.V. All rights reserved.
Keywords:
Object-oriented design
Move method refactoring
Class quality
Logistic regression analysis
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

Information and Software Technology cover
Information and Software Technology
IF:
4.3
Papers:
3.8K
Citations:
7.7K

Organization

K
Kuwait University
Scholars:
4.2K
Papers: 3.8K
Citations: 2.7K
Cited Papers

Cited Papers

errShare
errSave
Identification of Move Method Refactoring Opportunities
err2009-05-01
err274
PREAI
errTsantalis, Nikolaos; Chatzigeorgiou, Alexander
errShare
errSave
Methodbook: Recommending Move Method Refactorings via Relational Topic Models
err2014-07-01
err115
errOAAI
errBavota, Gabriele; Oliveto, Rocco; Gethers, Malcom; Poshyvanyk, Denys; De Lucia, Andrea
errShare
errSave
Inhibition of Respiratory Syncytial Virus Replication by Simultaneous Targeting of mRNA and Genomic RNA Using Dual-Targeting siRNAs
err2016-10-20
err0
PREAI
errSomayeh Shatizadeh Malekshahi; Vahid Salimi; Ehsan Arefian; Ghazal Fatemi-nasab; Sarvin Adjaminejad-Fard; Jila Yavarian; Talat Mokhtari-Azad
errShare
errSave
researcher View more