2003/06/16 by Richard Wheeldon, Wheeldon, Richard, Steve Counsell +1 · 1 citation
Computer Science · #D.2.8 #FOS: Computer and information sciences #Software Engineering (cs.SE) #Software Engineering Research #Software Engineering Techniques and Practices #Software Reliability and Analysis Research #cs.SE
paper · pdf · doi:10.48550/arxiv.cs/0306098
10 pages
arxiv created 2003/06/16 · openalex publication_date 2003/06/16 · arxiv updated 2009/11/30 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28
Decisions on which classes to refactor 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, we 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. Our research shows that metrics from other research domains can be adapted to the software engineering process. Substantial differences were found between each of the systems in terms of the key classes identified and hence opportunities for refactoring those classes varied between those systems.