Empirical Study on Refactoring Activity
In this empirical study we examined the refactoring activity in the history of 3 open-source projects, namely JUnit,
Apache HTTPCore, and Apache HTTPClient, regarding the following dimensions:
- Software artifact types: The different types of refactorings applied to different types of sources (i.e., production vs. test code)
- People and project responsibilities: The individual contribution of team members on refactoring activities
- Time and temporal patterns: The alignment of refactoring activity with release dates and test update periods
- Maintenance tasks: The motivation behind the applied refactorings
More specifically, the research questions that we investigated are:
- Do software developers perform different types of refactoring operations on test code and production code?
- Which developers are responsible for refactorings?
- Is there more refactoring activity before major project releases than after?
- Is refactoring activity on production code preceded by the addition or modification of test code?
- What is the purpose of the applied refactorings?
Collected data
Related Papers
-
Nikolaos Tsantalis, Victor Guana, Eleni Stroulia, and Abram Hindle, "A Multidimensional Empirical Study on Refactoring Activity," pp. 132-146, 23rd Annual International Conference of the Centre for Advanced Studies on Collaborative Research (CASCON'2013), Toronto, Ontario, Canada, November 18-20, 2013.