The optimal community detection of software based on complex networks

The community structure is important for software in terms of understanding the design patterns, controlling the development and the maintenance process. In order to detect the optimal community structure in the software network, a method Optimal Partition Software Network (OPSN) is proposed based on the dependency relationship among the software functions. First, by analyzing the information of multiple execution traces of one software, we construct Software Execution Dependency Network (SEDN). Second, based on the relationship among the function nodes in the network, we define Fault Accumulation (FA) to measure the importance of the function node and sort the nodes with measure results. Third, we select the top K(K=1,2,…) nodes as the core of the primal communities (only exist one core node). By comparing the dependency relationships between each node and the K communities, we put the node into the existing community which has the most close relationship. Finally, we calculate the modularity with different initial K to obtain the optimal division. With experiments, the method OPSN is verified to be efficient to detect the optimal community in various softwares.

[1]  Marko Bajec,et al.  Community structure of complex software systems: Analysis and applications , 2011, ArXiv.

[2]  Youngdo Kim,et al.  Finding communities in directed networks. , 2009, Physical review. E, Statistical, nonlinear, and soft matter physics.

[3]  Mark E. J. Newman,et al.  Community detection and graph partitioning , 2013, ArXiv.

[4]  A. Benyoussef,et al.  Pair-dependent rejection rate and its impact on traffic flow in a scale-free network , 2014 .

[5]  Christopher R. Myers,et al.  Software systems as complex networks: structure, function, and evolvability of software collaboration graphs , 2003, Physical review. E, Statistical, nonlinear, and soft matter physics.

[6]  Bei-Yang Wang,et al.  Software Networks Nodes Impact Analysis of Complex Software Systems: Software Networks Nodes Impact Analysis of Complex Software Systems , 2014 .

[7]  Jian-Guo Liu,et al.  Detecting community structure in complex networks via node similarity , 2010 .

[8]  Jiadong Ren,et al.  An algorithm to find critical execution paths of software based on complex network , 2015 .

[9]  Sergio Gómez,et al.  Size reduction of complex networks preserving modularity , 2007, ArXiv.

[10]  Jean-Loup Guillaume,et al.  Fast unfolding of communities in large networks , 2008, 0803.0476.

[11]  Bing Li,et al.  Empirical Study on the Characteristics of Complex Networks in Networked Software: Empirical Study on the Characteristics of Complex Networks in Networked Software , 2011 .