Font Size: a A A

Research On Community Structure Of Software Network Based On A Central Node

Posted on:2017-03-08Degree:MasterType:Thesis
Country:ChinaCandidate:G WangFull Text:PDF
GTID:2180330503982472Subject:Software engineering
Abstract/Summary:PDF Full Text Request
In recent years, the using of the theory of complex networks in software engineering becoming more and more popular. It has been an important subject of research that dealing the software system as software networks at home and abroad.In this dissertation, we chose the real open source software Cflow and Tar as our experimental subjects. Considering of the stability, reliability and security of the software systems, our research analyzed the central node and community structure of software networks. Based on the dependencies of nodes in the software networks, we did research on the software network topology characteristics.Firstly, we summarized the degree centrality, the betweenness centrality and the small world characteristic of complex network. In order to make the topology of the software system more vividly, we proposed an approach to abstract the software system as directed static software network model. With the range of parameters, we tracked the calling relationships between functions. By removing duplicate calling relationships and deleting redundant information, we built the software network.Secondly, to analyze the directed static software network, we proposed two approaches of mining the initial central nodes based on degree and betweenness separately, which called MCND and MCNB. In order to improving the accurate of the identification of the central node, we proposed an algorithm of mining the similarity of neighboring nodes named MNS. In this algorithm, the initial central node whose weight is lower of high similarity neighbor nodes was removed. The MCND algorithm reflects the local characteristics of the network, and the MCNB algorithm reflects the global characteristics of the network. By comparing the ability of two algorithms on recognizing the central nodes of each version of software, we can analyze the impact of degree and betweennessin the software network.Then, we applied the idea of hierarchical clustering algorithm to divide the community structure of software network. Base on the central node of network, an algorithm named GIC was proposed, which generates the initial community structure of software network. According to the classical data mining algorithm KNN, we proposed the software network community partition algorithm DSN by importing the dependence between nodes into it. To obtain the optimal community structure division, the modularity Q of the algorithm ODNC to computing community was given.Finally, with the real datasets, we experimented under the Windows platform with the Eclipse IDE, and evaluated the proposed algorithms.
Keywords/Search Tags:complex network, software system, software network, function dependencies, community structure, central node
PDF Full Text Request
Related items