Complex Network Analysis

INTRODUCTION Quantitative evaluation of software architectures with large sizes is a complicated and often difficult task. Traditional analysis methods and measures utilized in software engineering are no longer suitable to analyze complicated software packages. Many readily available evaluation metrics, such as the number of files in a package, total lines of code, or the number of developers for a given project, are not sufficiently descriptive. Even measures such as complexity (Harrison, Samaraweera, Dobie, & Lewis, 1996; Kang & Bieman, 1999), maintainability (Li & Henry, 1993), and cohesion (Etzkorn, Davis, & Li, 1998), often fail to fully capture the nature of increasingly complex software systems. In order to gain meaningful insights into the structure of software systems, software developers and analysts have begun to search for more powerful, detailed, and informative tools to serve their needs. The object of our research project, complex network analysis, has received additional attention recently. It is widely adopted in analyzing real world complex systems, including software systems (Albert & Barabasi, 2002; Newman, 2003; Potanin, Noble, Frean, & Biddle, 2005). One of the most useful, and frequently leveraged, topological measures employed when random graph theory is applied in complex network analysis is the clustering coefficient. The clustering coefficient measures the extent to which being a neighbor in a cluster is a transitive property. The clustering coefficient has two commonly used definitions, one by Watts and Strogatz (1998), and the second by Newman (Newman, 2001; Newman, Watts, & Strogatz, 2002; Newman, 2003). These two definitions share some common considerations and, at the same time, have their own unique viewpoints when used as a measure in clustering circumstances. However, when conducting and reporting their research work, most researchers just adopt one of them based on their own needs, without justifying why they used the method chosen. To the best of our knowledge, we are not aware of any other paper that examined the relationship of these two definitions in an analytic and systematic way. Therefore, it is critical to identify and report the analytic similarities and differences between the two methods in order to give future researchers guidance on the appropriate method to use in their research. This paper intends to clarify the research situation by reporting on an analytical comparison between the two clustering coefficient definitions developed by Watts and Strogatz (1998) and by Newman (2003), respectively. The comparison was performed by using analytical derivations to show the mathematical relations between the two definitions, showing the limits on the analysis, and leveraging a simulated network example to show the impact of clustering coefficient values derived from those two definitions. The organization of the paper is as follows. We first introduce some background information in Section 2. In Section 3, we briefly explain the topological metrics that we will be using. Section 4 presents the numeric analysis and the derived formulas of the two clustering coefficient definitions. In Section 5, we introduce several numeric properties of the two definitions, including the impact factors of the clustering values for each definition. Finally, we conclude the paper in Section 6 with a summary of contributions and potential future research opportunities. BACKGROUND As an important topological measure in graph theory (Tuttle, 1984), the clustering coefficient measures the extent to which being a neighbor in a cluster is a transitive property (Eggemann & Noble, 2011). The clustering coefficient captures the level of connectivity of a local community within a network. The higher the clustering coefficient, the more connected the community is. As mentioned earlier, and previously discussed in Ma, Zeng, and Zhao (2010), the clustering coefficient has two commonly used definitions (Watts & Strogatz, 1998; Newman, 2003). …