Making Refactoring Decisions in Large-Scale Java Systems: An Empirical Stance
Source: Cornell University
Decisions on which classes to refractor are fraught with difficulty. The problem of identifying candidate classes becomes acute when confronted with large systems comprising hundreds or thousands of classes. In this paper, the authors describe a metric by which key classes, and hence candidates for refactoring, can be identified. Measures quantifying the usage of two forms of coupling, inheritance and aggregation, together with two other class features (number of methods and attributes) were extracted from the source code of three large Java systems. Their research shows that metrics from other research domains can be adapted to the software engineering process.