arrow
Return

Identifying Extract Method Refactoring Opportunities Based on Functional Relevance

delete2017-10-01
delete27
delete
OA
AI
S
Sofia Charalampidou *
A
Apostolos Ampatzoglou
A
Alexander Chatzigeorgiou
A
Antonios Gkortzis
P
Paris Avgeriou
DOI:10.1109/TSE.2016.2645572delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
'Extract Method' is considered one of the most frequently applied and beneficial refactorings, since the corresponding Long Method smell is among the most common and persistent ones. Although Long Method is conceptually related to the implementation of diverse functionalities within a method, until now, this relationship has not been utilized while identifying refactoring opportunities. In this paper we introduce an approach (accompanied by a tool) that aims at identifying source code chunks that collaborate to provide a specific functionality, and propose their extraction as separate methods. The accuracy of the proposed approach has been empirically validated both in an industrial and an open-source setting. In the former case, the approach was capable of identifying functionally related statements within two industrial long methods (approx. 500 LoC each), with a recall rate of 93 percent. In the latter case, based on a comparative study on open-source data, our approach ranks better compared to two well-known techniques of the literature. To assist software engineers in the prioritization of the suggested refactoring opportunities the approach ranks them based on an estimate of their fitness for extraction. The provided ranking has been validated in both settings and proved to be strongly correlated with experts' opinion.
Keywords:
Design tools and techniques
object-oriented programming
metrics/measurement
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

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.9K
Citations:
1.1W

Organization

U
University of Groningen
Scholars:
4.4W
Papers: 4.3W
Citations: 5.9W
U
University of Macedonia
Scholars:
832
Papers: 920
Citations: 536
Cited Papers

Cited Papers

Layer assessment of object-oriented software: A metric facilitating white-box reuse
err2013-02-01
err15
PREAI
errKakarontzas, George; Constantinou, Eleni; Ampatzoglou, Apostolos; Stamelos, Ioannis
errShare
errSave
How We Refactor, and How We Know It
err2012-01-01
err327
PREAI
errMurphy-Hill, Emerson; Parnin, Chris; Black, Andrew P.
errShare
errSave
Genetically engineered microalgae for enhanced bioactive compounds
err2024-09-09
err0
errOAAI
errAhmad Hanafi Ahmad Kamal; Nor Farahdevah Mohd Hamidi; Muhammad Faiz Zakaria; Aziz Ahmad; Mohd Razif Harun; Thirukanthan Chandra Segaran; Malinna Jusoh
errShare
errSave
In Vivo Characterization of a Decellularized Dermis‐Polymer Complex for Use in Percutaneous Devices
err2014-06-25
err0
PREAI
errKwangwoo Nam; Rie Matsushima; Tsuyoshi Kimura; Toshiya Fujisato; Akio Kishida
errShare
errSave
Machine learning helps predict long-term mortality and graft failure in patients undergoing heart transplant
err2020-05-07
err0
errOAAI
errPradyumna Agasthi; Matthew R. Buras; Sean D. Smith; Michael A. Golafshar; Farouk Mookadam; Senthil Anand; Julie L. Rosenthal; Brian W. Hardaway; Patrick DeValeria; Reza Arsanjani
errShare
errSave
Gender reversal in 46XX congenital virilizing adrenal hyperplasia
err2003-10-29
err0
PREAI
errV. SRIPATHI; S. AHMED; N. SAKATI; A. AL‐ASHWAL
errShare
errSave
researcher View more