Designing and Developing Automated Refactoring Transformations: An Experience Report

TitleDesigning and Developing Automated Refactoring Transformations: An Experience Report
Publication TypeConference Paper
Year of Publication2016
AuthorsSzőke G, Nagy C, Ferenc R, Gyimóthy T
Conference NameProceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016)
Date Publishedmar
PublisherIEEE Computer Society
Conference LocationSuita, Osaka, Japan
KeywordsAutomated Refactoring, code smells, coding issues, software maintenance

There are several challenges which should be kept in mind during the design and development phases of a refactoring tool, and one is that developers have several expectations that are quite hard to satisfy. In this report, we present our experiences of a two-year project where we attempted to create an automatic refactoring tool. In this project, we worked with five software development companies that wanted to improve the maintainability of their products. The project was designed to take into account the expectations of the developers of these companies and consisted of three main stages: a manual refactoring phase, a tool building phase, and an automatic refactoring phase. Throughout these stages we collected the opinions of the developers and faced several challenges on how to automate refactoring transformations, which we present and summarize.