On Using Network Science in Mining Developers Collaboration in Software Engineering: A Systematic Literature Review <s> Discussion around RQ2: <s> Abstract The intuitive background for measures of structural centrality in social networks is reviewed and existing measures are evaluated in terms of their consistency with intuitions and their interpretability. Three distinct intuitive conceptions of centrality are uncovered and existing measures are refined to embody these conceptions. Three measures are developed for each concept, one absolute and one relative measure of the centrality of positions in a network, and one reflecting the degree of centralization of the entire network. The implications of these measures for the experimental study of small groups is examined. <s> BIB001 </s> On Using Network Science in Mining Developers Collaboration in Software Engineering: A Systematic Literature Review <s> Discussion around RQ2: <s> Centrality measures, or at least popular interpretations of these measures, make implicit assumptions about the manner in which traffic flows through a network. For example, some measures count only geodesic paths, apparently assuming that whatever flows through the network only moves along the shortest possible paths. This paper lays out a typology of network flows based on two dimensions of variation, namely the kinds of trajectories that traffic may follow (geodesics, paths, trails, or walks) and the method of spread (broadcast, serial replication, or transfer). Measures of centrality are then matched to the kinds of flows that they are appropriate for. Simulations are used to examine the relationship between type of flow and the differential importance of nodes with respect to key measurements such as speed of reception of traffic and frequency of receiving traffic. It is shown that the off-the-shelf formulas for centrality measures are fully applicable only for the specific flow processes they are designed for, and that when they are applied to other flow processes they get the “wrong” answer. It is noted that the most commonly used centrality measures are not appropriate for most of the flows we are routinely interested in. A key claim made in this paper is that centrality measures can be regarded as generating expected values for certain kinds of node outcomes (such as speed and frequency of reception) given implicit models of how traffic flows, and that this provides a new and useful way of thinking about centrality. © 2004 Elsevier B.V. All rights reserved. <s> BIB002 </s> On Using Network Science in Mining Developers Collaboration in Software Engineering: A Systematic Literature Review <s> Discussion around RQ2: <s> Software teams should follow a well defined goal and keep their work focused. Work fragmentation is bad for efficiency and quality. In this paper we empirically investigate the relationship between the fragmentation of developer contributions and the number of post-release failures. Our approach is to represent developer contributions with a developer-module network that we call contribution network. We use network centrality measures to measure the degree of fragmentation of developer contributions. Fragmentation is determined by the centrality of software modules in the contribution network. Our claim is that central software modules are more likely to be failure-prone than modules located in surrounding areas of the network. We analyze this hypothesis by exploring the network centrality of Microsoft Windows Vista binaries using several network centrality measures as well as linear and logistic regression analysis. In particular, we investigate which centrality measures are significant to predict the probability and number of post-release failures. Results of our experiments show that central modules are more failure-prone than modules located in surrounding areas of the network. Results further confirm that number of authors and number of commits are significant predictors for the probability of post-release failures. For predicting the number of post-release failures the closeness centrality measure is most significant. <s> BIB003 </s> On Using Network Science in Mining Developers Collaboration in Software Engineering: A Systematic Literature Review <s> Discussion around RQ2: <s> Ownership is a key aspect of large-scale software development. We examine the relationship between different ownership measures and software failures in two large software projects: Windows Vista and Windows 7. We find that in all cases, measures of ownership such as the number of low-expertise developers, and the proportion of ownership for the top owner have a relationship with both pre-release faults and post-release failures. We also empirically identify reasons that low-expertise developers make changes to components and show that the removal of low-expertise contributions dramatically decreases the performance of contribution based defect prediction. Finally we provide recommendations for source code change policies and utilization of resources such as code inspections based on our results. <s> BIB004 </s> On Using Network Science in Mining Developers Collaboration in Software Engineering: A Systematic Literature Review <s> Discussion around RQ2: <s> Using a bug repository, developers contribute to improve the quality of software incrementally by creating and updating bug reports. All the software artifacts in bug repositories are derived from developer contribution. Most prior studies on developer contribution in bug repositories bias on one particular form, e.g., commenting bug reports. However, in real practice of bug repositories, developers participate in and contribute to software projects via multiple ways, e.g., reporting new bugs, reopening incorrectly fixed bugs, commenting unfixed bug reports, and fixing unsolved bugs. In this paper, we exploit recent advances in analysis of heterogeneous network to avoid biased aspects in measuring developer contribution and explore multiple types of developer contribution in bug repositories. Further, we consider leveraging such multiple types of developer contribution to assist a typical prediction problem in bug repositories, i.e., bug triage. Empirical studies on bug repositories of Eclipse and Mozilla show that our approach can provide enriched knowledge of developer contribution to improve the resolution of bug triage. This study strongly suggests using the promising aspects of heterogeneous network can open many actionable insights in analyzing software repositories. <s> BIB005 </s> On Using Network Science in Mining Developers Collaboration in Software Engineering: A Systematic Literature Review <s> Discussion around RQ2: <s> Code authorship information is important for analyzing software quality, performing software forensics, and improving software maintenance. However, current tools assume that the last developer to change a line of code is its author regardless of all earlier changes. This approximation loses important information. We present two new line-level authorship models to overcome this limitation. We first define the repository graph as a graph abstraction for a code repository, in which nodes are the commits and edges represent the development dependencies. Then for each line of code, structural authorship is defined as a sub graph of the repository graph recording all commits that changed the line and the development dependencies between the commits, weighted authorship is defined as a vector of author contribution weights derived from the structural authorship of the line and based on a code change measure between commits, for example, best edit distance. We have implemented our two authorship models as a new git built-in tool git-author. We evaluated git-author in an empirical study and a comparison study. In the empirical study, we ran git-author on five open source projects and found that git-author can recover more information than a current tool (git-blame) for about 10% of lines. In the comparison study, we used git-author to build a line-level model for bug prediction. We compared our line-level model with an existing file-level model. The results show that our line-level model performs consistently better than the file-level model when evaluated on our data sets produced from the Apache HTTP server project. <s> BIB006 </s> On Using Network Science in Mining Developers Collaboration in Software Engineering: A Systematic Literature Review <s> Discussion around RQ2: <s> Developer teams may naturally emerge independent of managerial decisions, organizational structure, or work locations in large software. Such self organized collaboration teams of developers can be traced from the source code repositories. In this paper, we identify the developer teams in the collaboration network in order to present the work team evolution and the factors that affect team stability for a large, globally developed, commercial software. Our findings indicate that: a) Number of collaboration teams do not change over time, b) Size of the collaboration teams increases over time, c) Team activity is not related with team size, d) Factors related to team size, location and activity affect the stability of teams over time. <s> BIB007 </s> On Using Network Science in Mining Developers Collaboration in Software Engineering: A Systematic Literature Review <s> Discussion around RQ2: <s> Tie formation in social networks is driven by different motives that are not always apparent in the social network itself. These motives differ from one social network to another, depending on, e.g., the network's purpose, such as advice seeking or collaboration, and the effort it costs to establish a friendship relationship. A common factor that exists in almost all social networks is homophily: the tendency of social network members to connect to similar members. In this work, we look at the tie formation process in social networks from a different perspective where we consider not only a social network SN, but also a set of associated interaction networks G n around it. We show, based on 6 social networks and in total 20 different associated interaction networks, that it is possible to predict the entire social network's structure to a satisfactory extent, only by knowing the structure of these interaction networks. As social networks are based on a voluntary relationship while some of the interaction relationships are at most semi-controllable for most members, e.g., being together in a team, this seems to indicate that whom we choose as a friend is also determined by whom we interact with. <s> BIB008 </s> On Using Network Science in Mining Developers Collaboration in Software Engineering: A Systematic Literature Review <s> Discussion around RQ2: <s> Network analysis provides a perspective on how to find and quantify significant structures in the interaction patterns between different types of actors and on how to relate these structures to properties of the actors. It has proven itself to be useful for the analysis of biological and social networks, but also for networks describing complex systems in economy, psychology, geography, and various other fields. Today, network analysis packages in the open-source platform R and other open-source software projects enable scientists from allfields to quickly apply network analytic methods to their data sets. Altogether these applications offer such a wealth of network analytic methods that it can be overwhelming for someone just entering this field. This book provides a road map through this jungle of network analytic methods, offers advice on how to pick the best method for a given network analytic project, and how to avoid common pitfalls. It introduces the methods which are most often used to analyze complex networks, e.g., different types of random graph models, centrality indices, clustering algorithms, global network measures, and networks motifs. In addition to introducing these methods, the centralfocus is on network analysis literacy the competence to decide when to use which of these methods for which type of question. Furthermore, the book intends to increase the reader's competence to read original literature on network analysis by providing an extensive glossary and intensive translation of formal notation and mathematical symbols in everyday speech. Additionally, it provides and explains in detail R code for all analyses and diagrams shown in the book. Different aspects of network analysis literacy understanding formal definitions, programming tasks, or the analysis of structural measures and their interpretation are deepened in various exercises with provided solutions. This text is the best starting point for all scientists who want to harness the power of network analysis for their field of expertise. <s> BIB009 </s> On Using Network Science in Mining Developers Collaboration in Software Engineering: A Systematic Literature Review <s> Discussion around RQ2: <s> Developers contributing to open source projects spontaneously group into "emerging'' teams, reflected by messages exchanged over mailing lists, issue trackers and other communication means. Previous studies suggested that such teams somewhat mirror the software modularity. This paper empirically investigates how, when a project evolves, emerging teams re-organize themselves-e.g., by splitting or merging. We relate the evolution of teams to the files they change, to investigate whether teams split to work on cohesive groups of files. Results of this study-conducted on the evolution history of four open source projects, namely Apache httpd, Eclipse JDT, Netbeans, and Samba-provide indications of what happens in the project when teams reorganize. Specifically, we found that emerging team splits imply working on more cohesive groups of files and emerging team merges imply working on groups of files that are cohesive from structural perspective. Such indications serve to better understand the evolution of software projects. More important, the observation of how emerging teams change can serve to suggest software remodularization actions. <s> BIB010 </s> On Using Network Science in Mining Developers Collaboration in Software Engineering: A Systematic Literature Review <s> Discussion around RQ2: <s> Determining contributors' expertise, role, and individual importance are fundamental for assessing their impact on a software project. Currently-used expertise metrics are agnostic to contributor roles and can lead to incorrect characterizations. To address these issues, we operationalize contributor expertise and role. First, we revisit current expertise metrics and show that their use bundles many different aspects, creating ambiguity. Second, we introduce clearly-defined contributor roles, which capture multiple project facets. Third, we propose a graph model, based on contributor collaborations, that captures the hierarchical structure of the contributor community in a concise yet informative way. We demonstrate the model's usefulness in two ways: (a) for identifying the structure and evolution of contributor interactions, (b) for predicting contributor roles. We substantiate our study using two large open-source projects, Fire fox and Eclipse. Our systematic approach clarifies and isolates contributor role and expertise, and sheds light onto the dynamics of contributors within software projects. <s> BIB011 </s> On Using Network Science in Mining Developers Collaboration in Software Engineering: A Systematic Literature Review <s> Discussion around RQ2: <s> Effective software engineering demands a coordinated effort. Unfortunately, a comprehensive view on developer coordination is rarely available to support software-engineering decisions, despite the significant implications on software quality, software architecture, and developer productivity. We present a fine-grained, verifiable, and fully automated approach to capture a view on developer coordination, based on commit information and source-code structure, mined from version-control systems. We apply methodology from network analysis and machine learning to identify developer communities automatically. Compared to previous work, our approach is fine-grained, and identifies statistically significant communities using order-statistics and a community-verification technique based on graph conductance. To demonstrate the scalability and generality of our approach, we analyze ten open-source projects with complex and active histories, written in various programming languages. By surveying 53 open-source developers from the ten projects, we validate the authenticity of inferred community structure with respect to reality. Our results indicate that developers of open-source projects form statistically significant community structures and this particular view on collaboration largely coincides with developers' perceptions of real-world collaboration. <s> BIB012
To answer this question, we will provide a discussion on the used measures in the PSs, and extensively talk about one of them, which is the betweenness centrality that was used too much. Borgatti BIB002 showed that many of the centrality measures embraced unstated assumptions that once were not satisfied, the results of the measures could not be reliable and interpretable. For space limitation, we will discuss the betweenness centrality that was used 16 times in the PSs. This centrality measure was introduced by Freeman BIB001 and implicitly assumed that: BIB008 there is a process going on top of the network, (2) the process is based on the shortest paths, (3) the process takes place among all pairs of nodes with the same frequency, and (4) the process is sequential BIB009 . Thus, any network where those assumptions are not met can not benefit from the betweenness centrality as a measure for identifying central nodes. Based on this information and the information provided in Section 5.1, none of the networks in the PSs is suitable to apply the betweenness centrality on it. Any obtained results based on this measure and these networks are not meaningful. Similar situations to this are also found with other measures. For example, the diameter of the network and the closeness centrality do not give an informative value in the analysis of a social interaction. Those measures are informative in networks where the cost of establishing an edge is high, like adding new street in the street networks and adding new DNS server in the internet network. However, for communication and social networks where an edge is a sent email, and for the collaboration networks where the edge is a repository fork or a comment added to the code, the diameter, for example, is just meaningless and does not provide a value to the analysis. In addition, only 9 PSs, BIB003 BIB010 BIB004 BIB005  BIB006 BIB012 BIB007 BIB011 , contributed a new model or a new measure based on the specifics of the used networks, the other 26 PSs only used an existing measure in the literature. Also, 11 primary studies did not provide an explanation and interpretation over the used measure. BIB003 BIB010 BIB004 BIB005  BIB006 BIB012 BIB007 BIB011 , that provided new measures and models specifically for the constructed network that respected the nature of the modeled system.