返回
Identifying Extract Method Refactoring Opportunities Based on Functional Relevance
DOI:10.1109/TSE.2016.2645572.png)
摘要
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.
Keyword:
Design tools and techniques
object-oriented programming
metrics/measurement
AI总结
对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。
期刊
IF:
5.6
论文数:
2.9K
被引数:
1.1W
机构
引用论文
Layer assessment of object-oriented software: A metric facilitating white-box reuse面向对象软件的层评估: 促进白盒重用的度量
Identification of extract method refactoring opportunities for the decomposition of methods识别方法分解的提取方法重构机会
Identifying Extract Class refactoring opportunities using structural and semantic cohesion measures使用结构和语义内聚性度量来识别提取类重构机会

