Trends in Java code changes: the key to identification of refactorings?

  • Authors:
  • Steve Counsell;Youssef Hassoun;Roger Johnson;Keith Mannock;Emilia Mendes

  • Affiliations:
  • University of London, London;University of London, London;University of London, London;University of London, London;University of Auckland, New Zealand

  • Venue:
  • PPPJ '03 Proceedings of the 2nd international conference on Principles and practice of programming in Java
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Changes made to object-oriented (OO) systems over time provide an insight into both design robustness and changes in requirements. When expressed at a high level of abstraction, observing trends in changes to code can indicate opportunities for refactoring at the architectural level. In this paper, we empirically investigate the changes made to a set of fifty-two Java library classes over a three year period. The research attempts to support the hypothesis that certain types of changes made to Java code fall into distinct trends and, furthermore, are likely to be made at a high level of abstraction; in this case to method signatures. Our empirical results show that change trends are identifiable thus informing well-known refactorings, but not as we had envisaged. Control logic constructs were found to be the focus of most changes to the library classes examined.