Font Size: a A A

Design Of Software System's Structure Analyzer By Complex Network Approach

Posted on:2019-02-24Degree:MasterType:Thesis
Country:ChinaCandidate:Z ZhaiFull Text:PDF
GTID:2370330566499204Subject:Electronic and communication engineering
Abstract/Summary:PDF Full Text Request
With the increasing demand of software,software structure tends to be more and more complicated.How to measure and control the complexity of software has become one of the most urgent problems for researchers in the field of software engineering.As a newly emerging interdiscipline,complex network provides a new approach to analyze the structural characteristics of the network from the perspective of network model.Firstly,this thesis instroduces the metrics of complex network and their algorithms,and compares the advantages and disadvantages of software call graph generation tools such as “Doxygen” and “CodeViz”,complex network computing tools such as “Gephi” and “igraph”.Secondly,this thesis designs a software system's structure analyzer.System's architecture and functions including data extraction,data analysis and visualization are introduced.Data analysis functions include characteristic statistics and structure analysis.Based on this,the analyzer is decomposed into multiple modules such as preprocessing,characteristic statistics,structure analysis and visualization.Finally,using the open source software ns-2 as analysis sample,this thesis calculates some metrics of software component network,including degree,betweenness,closeness,PageRank,clustering coefficient,average path length,assortativity,degree distribution and community structure.The analysis result of important nodes of the software module network helps to mine the key functions in the software.We find that ns-2's component network is one kind of small-world,scale-free and disassortative network.The degree exponents of the degree distribution of the software module networks of all versions of ns-2 are in the range of 1.5 to 1.6.The small differences in degree distributions reveal the commonalities in the evolution of software versions.The analyzer detects the community structure of the software module network and finds that the modularity is 0.71.This means that the software module network reveals significant community structure,and the community and software function modules have a certain corresponding relationship which is helpful to understand the software structure.
Keywords/Search Tags:Complex Network, Software Evolution, Component Network, Centrality of Component, Analyzer Design
PDF Full Text Request
Related items