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

Campus

RIT – Main Campus

Plan Codes

SOFTENG-MS

Share

COinS