Effect of developer collaboration activity on software quality in two large scale projects

We modelled the collaboration activity for two large-scale software.We extracted the defect induction and fixing data for two large software.We identified the effect of collaboration activity on software quality. Developers work together during software development and maintenance to resolve issues and implement features in large software projects. The structure of their development collaboration activity may have impact on the quality of the final product in terms of higher number of defects. In this paper, we aim to understand the effect of collaboration on the defect proneness software. We model the collaboration of developers as an undirected network. We extract the centrality of the developers from the collaboration network using different measures that quantifies the importance of the nodes. We analyze the defect inducing and fixing data of the developers in two large software projects. Our findings in this study can be summarized as follows: (a) Centrality and source code change activity of developers in the collaboration network may change their defect induction rates i.e. the defect proneness of their change sets, (b) Contrary to the common perception, more experienced people have relatively higher defect induction rates.

[1]  Bora Caglayan,et al.  Emergence of developer teams in the collaboration network , 2013, 2013 6th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE).

[2]  James D. Herbsleb,et al.  Coordination Breakdowns and Their Impact on Development Productivity and Software Failures , 2013, IEEE Transactions on Software Engineering.

[3]  Chang-Yong Lee Correlations among centrality measures in complex networks , 2006, physics/0605220.

[4]  W. Shadish,et al.  Experimental and Quasi-Experimental Designs for Generalized Causal Inference , 2001 .

[5]  Thomas G. Dietterich Adaptive computation and machine learning , 1998 .

[6]  W. Trochim,et al.  Advances in Quasi-Experimental Design and Analysis , 1986 .

[7]  Audris Mockus,et al.  An Empirical Study of Speed and Communication in Globally Distributed Software Development , 2003, IEEE Trans. Software Eng..

[8]  Laurie A. Williams,et al.  Evaluating Complexity, Code Churn, and Developer Activity Metrics as Indicators of Software Vulnerabilities , 2011, IEEE Transactions on Software Engineering.

[9]  Walt Scacchi,et al.  Open Source Software Development , 2011 .

[10]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[11]  Brendan Murphy,et al.  Can developer-module networks predict failures? , 2008, SIGSOFT '08/FSE-16.

[12]  E.J. Weyuker,et al.  Using Developer Information as a Factor for Fault Prediction , 2007, Third International Workshop on Predictor Models in Software Engineering (PROMISE'07: ICSE Workshops 2007).

[13]  Sven Apel,et al.  From Developer Networks to Verified Communities: A Fine-Grained Approach , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[14]  Laurie A. Williams,et al.  Realizing quality improvement through test driven development: results and experiences of four industrial teams , 2008, Empirical Software Engineering.

[15]  Ethem Alpaydin,et al.  Introduction to machine learning , 2004, Adaptive computation and machine learning.

[16]  Jon Kleinberg,et al.  Authoritative sources in a hyperlinked environment , 1999, SODA '98.

[17]  T. Cook,et al.  Quasi-experimentation: Design & analysis issues for field settings , 1979 .

[18]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[19]  Andreas Zeller,et al.  When do changes induce fixes? , 2005, ACM SIGSOFT Softw. Eng. Notes.

[20]  Klemens Böhm,et al.  Mining Edge-Weighted Call Graphs to Localise Software Bugs , 2008, ECML/PKDD.

[21]  Joseph Hilbe,et al.  Data Analysis Using Regression and Multilevel/Hierarchical Models , 2009 .

[22]  Ethem Alpaydin,et al.  Introduction to Machine Learning (Adaptive Computation and Machine Learning) , 2004 .

[23]  Do More People Make the Code More Defect Prone?: Social Network Analysis in OSS Projects , 2010, SEKE.

[24]  Petra Kaufmann,et al.  Experimental And Quasi Experimental Designs For Research , 2016 .

[25]  Laurie A. Williams,et al.  Socio-technical developer networks: should we trust our measurements? , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[26]  Chiara Francalanci,et al.  An Empirical Study on the Relationship among Software Design Quality , Development Effort , and Governance in Open Source Projects , 2008 .

[27]  Greg Madey,et al.  THE OPEN SOURCE SOFTWARE DEVELOPMENT PHENOMENON: AN ANALYSIS BASED ON SOCIAL NETWORK THEORY , 2002 .

[28]  Laurie A. Williams,et al.  Predicting failures with developer networks and social network analysis , 2008, SIGSOFT '08/FSE-16.

[29]  Sergey Brin,et al.  The Anatomy of a Large-Scale Hypertextual Web Search Engine , 1998, Comput. Networks.

[30]  Albert-László Barabási,et al.  Scale-free networks , 2008, Scholarpedia.

[31]  Ahmed E. Hassan,et al.  Studying the impact of social interactions on software quality , 2012, Empirical Software Engineering.

[32]  Nachiappan Nagappan,et al.  Predicting defects with program dependencies , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.