VertexRank: Importance Rank for Software Network Vertices

2014 
Finding the critical components of software system is very important for software comprehension, operation and maintenance. We propose Vertex Rank, a method to rank the importance of vertices of software network. The complexity of the algorithm to compute Vertex Rank is proportional to the sum of the number of edges and vertices. And, it converges quickly at an ideal deviation within limited iterations. Vertex Rank captures the essence of software network by utilizing software entry point during calculation. We compare Vertex Rank with widely used ranking measures, degree, betweenness centrality, Page Rank and Component Rank, result shows that it is a more appropriate measure for software network because it better differentiates the various roles that vertices play in network as it utilizes the characteristic of software entry points. It not only finds the most important vertices more accurately, but also makes clear distinction between less important ones and completely excludes the unused ones. We test Vertex Rank on real-world open source software systems and find that the functionality of vertex greatly affect its Vertex Rank value, there is a strong positive correlation between in degree and Vertex Rank, and Vertex Rank ranking highly coincides with reuse.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    27
    References
    1
    Citations
    NaN
    KQI
    []