Application of principle component analysis and cluster analysis on software refactorings

Refactoring is one key issue during the software evolution,and is a complex and difficult task.The traditional method of locating refactorings mostly relies on observations and subjective perceptions,which is time consuming and effort wasting,especially when the number of codes needing refactoring is very large.Therefore an automatic method of locating refactorings is proposed.Using object-oriented metrics to collect the feature information of codes,using correlation test to check the feature information data,applying principle component analysis to compress and explain the feature information,applying cluster analysis to classify similar code segment,it located refactorings quickly and accurately.A simple case demonstrates that the method is simple and efficient,and outperforms the conventional method.