BeneFactor: a flexible refactoring tool for eclipse
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
The need for richer refactoring usage data
Proceedings of the 3rd ACM SIGPLAN workshop on Evaluation and usability of programming languages and tools
A domain-specific language for scripting refactorings in erlang
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
What kind of and how clones are refactored?: a case study of three OSS projects
Proceedings of the Fifth Workshop on Refactoring Tools
Let's make refactoring tools user-extensible!
Proceedings of the Fifth Workshop on Refactoring Tools
Reconciling manual and automatic refactoring
Proceedings of the 34th International Conference on Software Engineering
Use, disuse, and misuse of automated refactorings
Proceedings of the 34th International Conference on Software Engineering
Comparing approaches to analyze refactoring activity on software repositories
Journal of Systems and Software
Towards recognizing and rewarding efficient developer work patterns
Proceedings of the 2013 International Conference on Software Engineering
Semi-automatic rename refactoring for JavaScript
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
A compositional paradigm of automating refactorings
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
A comparative study of manual and automated refactorings
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Scalable, example-based refactorings with refaster
Proceedings of the 2013 ACM workshop on Workshop on refactoring tools
Hi-index | 0.00 |
Refactoring is widely practiced by developers, and considerable research and development effort has been invested in refactoring tools. However, little has been reported about the adoption of refactoring tools, and many assumptions about refactoring practice have little empirical support. In this paper, we examine refactoring tool usage and evaluate some of the assumptions made by other researchers. To measure tool usage, we randomly sampled code changes from four Eclipse and eight Mylyn developers and ascertained, for each refactoring, if it was performed manually or with tool support. We found that refactoring tools are seldom used: 11 percent by Eclipse developers and 9 percent by Mylyn developers. To understand refactoring practice at large, we drew from a variety of data sets spanning more than 39,000 developers, 240,000 tool-assisted refactorings, 2,500 developer hours, and 12,000 version control commits. Using these data, we cast doubt on several previously stated assumptions about how programmers refactor, while validating others. Finally, we interviewed the Eclipse and Mylyn developers to help us understand why they did not use refactoring tools and to gather ideas for future research.