Designing and Developing Automated Refactoring Transformations — Gábor Szőke

We have seen a talk by Gabor before, at ICSME 2015. The context is still the same, he is working with five companies that want to improve their source code. In this talk Gabor will summarize his experiences of a two-year project where we attempted to create an automatic refactoring tool.  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.

Developer expectations

Interesting result of the survey is that developers have different interpretations of what refactoring means. Developers are happy to use automated refactoring and they expect it to make them more productive, but, IDE support is a must.

What is important in automated refactoring is that developers really understand what they do, and it is very important for them to feel in control, for example, they would not like to have automated refactorings run at night.

When the refactoring tools were designed and deployed, developers were really happy about it:


The paper has lots of great insights but unfortunately there is no preprint 🙁