The Effectiveness of Refactoring, Based on a Compatibility Testing Taxonomy and a Dependency Graph

  • Authors:
  • S. Counsell;R. M. Hierons;R. Najjar;G. Loizou;Y. Hassoun

  • Affiliations:
  • Brunel University, UK;Brunel University, UK;School of Computer Science and Information Systems, Birbeck, UK;School of Computer Science and Information Systems, Birbeck, UK;Imperial College, UK

  • Venue:
  • TAIC-PART '06 Proceedings of the Testing: Academic & Industrial Conference on Practice And Research Techniques
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper, we describe and then appraise a testing taxonomy proposed by van Deursen and Moonen (VD&M) [9] based on the post-refactoring repeatability of tests. Four categories of refactoring are identified by VD&M ranging from semanticpreserving to incompatible, where, for the former, no new tests are required and for the latter, a completely new test set has to be developed. In our appraisal of the taxonomy, we heavily stress the need for the inter-dependence of the refactoring categories to be considered when making refactoring decisions and we base that need on a refactoring dependency graph developed as part of the research. We demonstrate that while incompatible refactorings may be harmful and time-consuming from a testing perspective, semantic-preserving refactorings can have equally unpleasant hidden ramifications despite their advantages. In fact, refactorings which fall into neither category have the most interesting properties. We support our results with empirical refactoring data drawn from seven Java Open-Source Systems (OSS) and from the same analysis form a tentative categorization of code smells.