An inclusive survey on automation of refactoring: challenges and opportunities
摘要
Refactoring is a methodical procedure that enhances the internal code structure while maintaining its external behaviour. It transforms complex code into clean, readable, simplified, and workable code(s). Researchers at various levels and stages have formulated several methods for automatic refactoring to reduce the time and effort spent improving software. The key objective of the subject paper is to provide a comprehensive and narrative analysis of the various techniques used in the Automation of the Refactoring process. Using different phases, cumulative analysis, and identifying several quality measures, only 61 studies have been shortlisted to be deeply analysed and reviewed in this study. The literature from earlier polls conducted in the past ten years has also been examined. This work presents the detailed schema, history, parameters, techniques, and future developments of refactoring automation. The findings indicate that while many studies concentrate on class and method refactoring, a few research projects emphasise code and packaged refactoring. Search-based and Machine Learning (ML) refactoring is highly popular and used in the automation of refactoring.