Gathering refactoring data: a comparison of four methods
Those of us who seek to build better refactoring tools need empirical data collected from real refactoring sessions. The literature reports on different methods for capturing this data, but little is known about how the method of data capture affects the quality of the results. This paper describes 4 methods for drawing conclusions about how programmers refactor, characterizes the assumptions made by each, and presents a family of experiments to test those assumptions. We hope that the results of the experiments will help future researchers choose a data-collection method appropriate to the question that they want to investigate.