Abstract
Extract method refactoring is pivotal for enhancing code readability, maintainability, and modularity by segmenting complex code into clearer, isolated methods. Identifying opportunities for such refactorings necessitates a deep understanding of the codebase’s evolution and its intricate relationships. Current methodologies utilize developer commit messages, advanced graph analysis, and diverse machine learning approaches to automate this identification process. This research delves into the application of deep learning-based Large Language Models (LLMs) to tackle the complexities inherent in extract method refactoring. We introduce innovative approaches, including the use of LLMs to cluster code blocks based on complex patterns and dependencies, and the analysis of developer commit messages to infer the intent behind refactorings. These methods aim to enhance the precision of identifying refactoring opportunities by leveraging historical code data and contextual insights. Through rigorous experiments, we compare the efficacy of our proposed methods against traditional refactoring tools using metrics such as precision, recall, and F1-score. Our findings reveal the significant potential of integrating deep learning techniques into the refactoring workflow, enhancing the automation and efficacy of software maintenance. This study not only validates the use of deep learning-based approaches for code refactoring but also paves the way for future research aimed at the continuous improvement of automated software maintenance tasks.
Library of Congress Subject Headings
Software refactoring; Deep learning (Machine learning); Software maintenance--Automation
Publication Date
5-10-2024
Document Type
Thesis
Student Type
Graduate
Degree Name
Software Engineering (MS)
Department, Program, or Center
Software Engineering, Department of
College
Golisano College of Computing and Information Sciences
Advisor
Mohamed W. Mkaouer
Advisor/Committee Member
Christian Newman
Advisor/Committee Member
Ali Ben Mrad
Recommended Citation
Devoe, Ryan, "Improving Automatic Refactoring Candidate Identification" (2024). Thesis. Rochester Institute of Technology. Accessed from
https://repository.rit.edu/theses/11737
Campus
RIT – Main Campus
Plan Codes
SOFTENG-MS