Font Size: a A A

Research On Mining Important Nodes In Software Networks Based On Function Execution Features And Multi-Hop Graph Attention

Posted on:2024-07-27Degree:MasterType:Thesis
Country:ChinaCandidate:X Y ZhaoFull Text:PDF
GTID:2530307151960739Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Program structure is one of the important factors that determine the quality of software.With the continuous addition of new modules to the software system,the program structure has become more and more complex and difficult to understand.Each upgrade and maintenance of the software system requires a lot of time and energy.Therefore,providing effective software measurement technology to mine important modules in the software system and focus on such modules in maintenance is of great significance to understand and to optimise the software architecture.Many studies have shown that the relationship between software modules has the characteristics of complex networks such as small world and scale-free.Therefore,from the perspective of complex networks,important modules in software can be effectively mined.The main research of this article is as follows:First of all,the related theories of complex networks were analyzed,and combined with the two popular software network modeling methods,two types of software network models,software dynamic network and software static network were constructed.Then classified and analyzed the current popular methods of mining important nodes of complex networks based on structural centrality,and introduced the relevant knowledge of graph attention networks and the application of SIR infectious disease model in the verification of important node mining results of complex networks.Secondly,according to the behavior of parameter passing and exception handling mechanisms during the execution of functions in dynamic networks,three topological characteristics that affect the importance of nodes in software dynamic networks are proposed,namely,the function call chain pivot function,the function abnormal propagation ability and the function call edge importance.Combined with the neighbor theory,a node importance measurement method was designed.Finally,the important nodes in the network were obtained through node importance ranking.In addition,a node importance ranking result verification system was introduced from the two perspectives of ranking effectiveness and ranking correctness.Thirdly,both node characteristics and network structure in software networks determine the importance of nodes.Therefore,a graph attention-based important node mining model is designed based on consideration of node topological characteristics.The model takes the performance of nodes in traditional important node mining methods as node characteristics,then combines the network structure as model input,and uses the top 20%of the nodes in the network as important nodes for training.A classification model is implemented to mine important nodes in the software stationary network.Finally,by modeling the real open-source software into a software network,experiments were carried out under Linux and Mac OS platforms.The analysis of important node mining results was carried out based on the simulation results of the SIR infectious disease model.Compared with Degree Centrality,ERM,Cluster Rank,Neighborhood Centrality,En Renew Rank,GNN,GCN methods,the results of the two methods proposed in this paper were verified.
Keywords/Search Tags:program structure, complex network, function call, graph attention, epidemic model
PDF Full Text Request
Related items