Association for Computing Machinery
A large number of software metrics have been proposed in the literature, but there is little understanding of how these metrics relate to one another. The authors propose a novel experimental technique, based on search-based refactoring, to assess software metrics and to explore relationships between them. Their goal is not to improve the program being refactored, but to assess the software metrics that guide the automated refactoring through repeated refactoring experiments. They apply their approach to five popular cohesion metrics using eight real-world Java systems, involving 300,000 lines of code and over 3,000 refactorings.