Move method refactoring recommendation based on deep learning and LLM-generated information

Move method refactoring is a prevalent technique typically applied when a method relies more on members of other classes than on its original class. Existing approaches for move method refactoring recommendations have improved accuracy based on deep learning. However, it is challenging to capture th...

Full description

Saved in:
Bibliographic Details
Published inInformation sciences Vol. 697; p. 121753
Main Authors Zhang, Yang, Li, Yanlei, Meredith, Grant, Zheng, Kun, Li, Xiaobin
Format Journal Article
LanguageEnglish
Published Elsevier Inc 01.04.2025
Subjects
Online AccessGet full text
ISSN0020-0255
DOI10.1016/j.ins.2024.121753

Cover

More Information
Summary:Move method refactoring is a prevalent technique typically applied when a method relies more on members of other classes than on its original class. Existing approaches for move method refactoring recommendations have improved accuracy based on deep learning. However, it is challenging to capture the deep semantics behind the code and the true intention of the developer. Furthermore, the accuracy of move method refactoring needs to be improved. To alleviate these problems, this paper proposes MoveRec, a move method refactoring recommendation based on deep learning and LLM-generated information. To generate the dataset, MoveRec selects 58 real-world projects from which it extracts metric, textual, and semantic features. Metric features are derived using static analysis tools. Textual features are generated with LLM to obtain code summaries, and the pre-trained model is used to produce word vectors. Semantic features are obtained by calculating the similarity between the original and target classes. Finally, we construct a dataset with 12,475 samples. A deep learning model CNN-LSTM-GRU is designed for refactoring recommendations. We evaluate MoveRec on this dataset and experimental results show that the average F1 is 74%. Compared to existing methods including PathMove, JDeodorant, JMove, and RMove, MoveRec improves F1 ranging from 9.4% to 53.4%, demonstrating its effectiveness.
ISSN:0020-0255
DOI:10.1016/j.ins.2024.121753