Mohsen Vakilian

A Compositional Paradigm of Automating Refactorings

by Mohsen Vakilian, Nicholas Chen, Roshanak Zilouchian Moghaddam, Stas Negara, and Ralph E. Johnson.

In Proceedings of the European Conference on Object-Oriented Programming (ECOOP), 2013, pp. 527–551.

Paper at Springer, Paper at Illinois, Artifacts at Illinois.

Abstract

Though modern IDEs have supported refactorings for more than a decade, recent studies suggest that programmers greatly underuse such tools, especially for complex refactorings. Complex refactorings affect several methods or classes and tend to be tedious and error-prone to perform by hand. To promote the use of refactoring tools for complex changes, we propose a new paradigm for automating refactorings called compositional refactoring. The key idea is to perform small, predictable changes using a tool and manually compose them into complex changes. This paradigm trades off some level of automation by higher levels of predictability and control. We show that this paradigm is natural, because our analysis of programmers’ use of the Eclipse refactoring tool in the wild shows that they frequently batch and compose automated refactorings. We then show that programmers are receptive to this new paradigm through a survey of 100 respondents. Finally, we show that the compositional paradigm is effective through a controlled study of 13 professional programmers, comparing this paradigm to the existing wizard-based one.

BibTeX

@inproceedings{VakilianETAL2013Compositional,
  author = {Mohsen Vakilian and Nicholas Chen and Roshanak Zilouchian Moghaddam and Stas Negara and Ralph E. Johnson},
  booktitle = {Proceedings of the European Conference on Object-Oriented Programming (ECOOP)}, 
  pages = {527--551},
  title = {A Compositional Paradigm of Automating Refactorings},
  year = {2013}
}