Domino effect: Move more methods once a method is moved

Hui Liu, Yuting Wu, Wenmei Liu, Qiurong Liu, Chao Li

科研成果: 书/报告/会议事项章节会议稿件同行评审

11 引用 (Scopus)

摘要

Software refactoring is a popular technology to improve the design of existing source code, and thus it is widely used to facilitate software evolution. Moving methods is one of the most popular refactorings. It helps to reduce coupling between classes and to improve cohesion of involved classes. However, it is difficult to manually identify such methods that should be moved. Consequently, a number of approaches and tools have been proposed to identify such methods based on source code metrics, change history, and textual information. In this paper we propose a new way to identify methods that should be moved. Whenever a method is moved, the approach checks other methods within the same class, and suggests to move the one with the greatest similarity and strongest relationship with the moved method. The rational is that similar and closely related methods should be moved together. The approach has been evaluated on open-source applications by comparing the recommended move method refactorings against refactoring histories of the involved applications. Our evaluation results show that the approach is accurate in recommending methods to be moved (average precision 76%) and in recommending destinations for such methods (average precision 83%). Our evaluation results also show that for a substantial percentage (27%) of move method refactorings, the proposed approach succeeds in identifying additional refactoring opportunities.

源语言英语
主期刊名2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering, SANER 2016
出版商Institute of Electrical and Electronics Engineers Inc.
ISBN(电子版)9781509018550
DOI
出版状态已出版 - 20 5月 2016
活动23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2016 - Suita, Osaka, 日本
期限: 14 3月 201618 3月 2016

出版系列

姓名2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering, SANER 2016
1

会议

会议23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2016
国家/地区日本
Suita, Osaka
时期14/03/1618/03/16

指纹

探究 'Domino effect: Move more methods once a method is moved' 的科研主题。它们共同构成独一无二的指纹。

引用此