Identifying key classes can help software engineers understand software systems that they previously were not familiar with.Though there are some methods on the identification of key classes
a majority of them use un-weighted dependency graphs
neglecting the coupling types and frequencies.In this paper
we propose a method to identify the key classes based on weighted
k
-core analysis of software networks.First
it uses a weighted class coupling network to represent classes (interfaces) and their couplings and coupling frequencies.Then
we introduce the weighted
k
-core decomposition method to compute the weighted coreness for each class (interface).Finally
we use the weighted coreness to quantify the importance of classes (interfaces) and sor
t them in a descending order with respect to their weighted corenesses.And the top-ranked classes (interfaces) will serve as the key class candidates.Empirical results show the effectiveness of our approach.