Abstract
Analysis on the modularity of software network plays a critical role in the detection of software vulnerabilities and in the improvement of software stability, reliability, and robustness. This paper intends to propose a method based on the most vital nodes to analyze the modularity of software of different versions. To this end, it first tracked software dynamic execution traces to build a dynamic software network model, and then it mapped these traces to a complex network of a dynamic invoke software network. Second, it identified the most vital nodes in two steps, namely the calInitialWeightForNode and calFinalWeightForNode in order to compute the initial weights and the final weights of nodes iteratively. Third, it mined top-k nodes as the original communities to create a framework for detecting new community, and expanded these nodes to the community by the algorithm expandTheCommunity and evaluated the results with criterion {Q}. Finally, it calculated the modularity of software of different versions. Experimental results show that the most vital nodes are reasonable to be taken in comparison with other ranking measures, and that the analysis approach to the modularity of software network is effective in evaluating software community structure, and can help assist the developer to refactor the software and improve the software quality.
Original language | English |
---|---|
Pages (from-to) | 32543-32553 |
Number of pages | 11 |
Journal | IEEE Access |
Volume | 6 |
DOIs | |
Publication status | Published - 28 May 2018 |
Keywords
- Software network
- modularity
- power-law
- vital nodes