Aakash SrivastavaWrituraj SarmaSudarshan Prasad Nagavalli
Code refactoring entails enhancing the current code readability, maintainability, and efficiency without changing its external behavior within a software development process. Traditional refactoring techniques which depended on human interventions or IDE-based tools are often strenuous, tedious, and prone to errors. Therefore, emerging factors like AI-related approaches, especially those entailing machine learning algorithms, have indicated promising alternatives which would alleviate such inherent challenges in manual refactoring processes by automating code refactoring. AI-enabled tools examine massive codebases, identify code smells, and recommend optimal refactoring approaches once learned from history and patterns. These tools automatically improve, hence adding value to the maintainability of software, reducing technical debt, and lowering manual intervention that was previously needed. Therefore, this paper explores how the artificial intelligence approach can be used to complement refactoring, underlining the different approaches that refactoring takes over traditional ones, while making commentary on the consequences of such technology in contemporary software engineering practice. As AI-enabled refactoring techniques continue to improve, they are likely to contribute a lot towards bettering software quality, enhancing developer productivity, and reducing software design faults in the near future.
Christopher DavisTony BushStephen Wood