Abstract
Conway’s Law describes that software systems are structured according to the communication structures of their developers. These developers when working on a feature or correcting a bug commit together a set of source code artifacts. The analysis of these co-changes makes it possible to identify change dependencies between artifacts. Influenced by Conway’s Law, we hypothesize that Structural Hole Metrics (SHM) are able to identify strong and weak change coupling. We used SHM computed from communication networks to predict co-changes among files. Comparing SHM against process metrics using six well-known classification algorithms applied to Rails and Node.js projects, we achieved recall and precision values near 80% in the best cases. Mathews Correlation metric was used to verify if SHM was able to identify strong and weak co-changes. We also extracted rules to provide insights about the metrics using classification tree. To the best of our knowledge, this is the first study that investigated social aspects to predict change dependencies and the results obtained are very promising.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Ball, T., Adam, J.K., Harvey, A.P., Siy, P.: If your version control system could talk. In: ICSE Workshop on Process Modeling and Empirical Studies of Software Engineering (March 1997)
Betz, S., Mite, D., Fricker, S., Moss, A., Afzal, W., Svahnberg, M., Wohlin, C., Borstler, J., Gorschek, T.: An evolutionary perspective on socio-technical congruence: The rubber band effect. In: RESER 2013, pp. 15–24 (2013)
Bhattacharya, P., Iliofotou, M., Neamtiu, I., Faloutsos, M.: Graph-based analysis and prediction for software evolution. In: 2012 34th International Conference on Software Engineering (ICSE), pp. 419–429 (June 2012)
Biçer, S., Bener, A.B., Çağlayan, B.: Defect prediction using social network analysis on issue repositories. In: Proceedings of the 2011 International Conference on Software and Systems Process, pp. 63–71 (2011)
Bicer, S., Bener, A.B., Cauglayan, B.: Defect prediction using social network analysis on issue repositories. In: Proceedings of the 2011 International Conference on Software and Systems Process, ICSSP 2011 (2011)
Bird, C., Nachiappan, N., Harald, G., Brendan, M., Devanbu, P.: Putting it all together: Using socio-technical networks to predict failures. In: Proceedings of the 2009 20th International Symposium on Software Reliability Engineering (2009)
Burt, R.: Structural Holes: The Social Structure of Competition. Harvard University Press (1995)
Canfora, G., Cerulo, L., Cimitile, M., Di Penta, M.: How changes affect software entropy: an empirical study. Empirical Software Engineering 19(1), 1–38 (2014)
Cataldo, M., Mockus, A., Roberts, J.A., Herbsleb, J.D.: Software dependencies, work dependencies, and their impact on failures. IEEE Transactions on Software Engineering 35(6), 864–878 (2009)
Conover, W.J.: Practical Nonparametric Statistics, vol. 2. John Wiley and Sons
Conway, M.E.: How do committees invent? Datamation (1968)
D’Ambros, M., Lanza, M.: Reverse engineering with logical coupling. In: 13th Working Conference on WCRE 2006, pp. 189–198 (2006)
D’Ambros, M., Lanza, M., Robbes, R.: On the relationship between change coupling and software defects. In: WCRE 2009, pp. 135–144 (2009)
D’Ambros, M., Lanza, M., Robbes, R.: Evaluating defect prediction approaches: a benchmark and an extensive comparison. Empirical Softw. Eng. 17(4-5), 531–577 (2012)
Demšar, J., Curk, T., Aleš, E., Gorup, Č., Hočevar, T., Mitar, M., Martin, M., Matija, P., Marko, T., Anže, S., Miha, Š., Lan, U., Lan, Ž., Jure, Ž., Marinka, Ž., Blaž, Z.: Orange: Data mining toolbox in python. Journal of Machine Learning Research 14, 2349–2353 (2013)
Ferdian, T., Tegawende, F.B., Lo, D., Jiang, L.: Network structure of social coding in github. In: 15th European Conference on Software Maintenance and Reengineering, pp. 323–326 (2013)
Kouroshfar, E.: Studying the effect of co-change dispersion on software quality. In: Proceedings of the 2013 International Conference on Software Engineering, ICSE 2013, pp. 1450–1452 (2013)
Kwan, I., Cataldo, M., Damian, D.: Conway’s law revisited: The evidence for a task-based perspective. IEEE Software 29(1), 90–93 (2012)
Meneely, A., Williams, L., Will, S., Osborne, J.A.: Predicting failures with developer networks and social network analysis. In: SIGSOFT FSE, pp. 13–23 (2008)
Meneely, A., Williams, L., Snipes, W., Osborne, J.: Predicting failures with developer networks and social network analysis. In: Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering, SIGSOFT 2008/FSE-16, pp. 13–23. ACM, New York (2008)
Nagappan, N., Murphy, B., Basili, V.R.: The influence of organizational structure on software quality: an empirical case study. In: International Conference on Software Engineering (ICSE), pp. 521–530 (2008)
Panichella, S., Canfora, G., Di Penta, M., Oliveto, R.: How the evolution of emerging collaborations relates to code changes: An empirical. In: IEEE International Conference on Program Comprehension (ICPC 2014) (2014)
Powers, D.M.W.: Evaluation: From Precision, Recall and F-Factor to ROC, Informedness, Markedness & Correlation. Technical Report SIE-07-001, School of Informatics and Engineering, Flinders University, Adelaide, Australia (2007)
Rahman, F., Devanbu, P.T.: How, and why, process metrics are better. In: ICSE, pp. 432–441 (2013)
Tsay, J., Dabbish, L.A., Herbsleb, J.D.: Influence of social and technical factors for evaluating contribution in github. In: ICSE (2014)
Visa, S.: Issues in mining imbalanced data sets - a review paper. In: Proceedings of the Sixteen Midwest Artificial Intelligence and Cognitive Science Conference, pp. 67–73 (2005)
Wolf, T., Schroter, A., Damian, D., Nguyen, T.: Predicting build failures using social network analysis on developer communication. In: Proceedings of the 31st International Conference on Software Engineering, ICSE 2009 (2009)
Zanetti, M.S., Sarigöl, E., Scholtes, I., Tessone, C.J., Schweitzer, F.: A quantitative study of social organisation in open source software communities 28, 116–122 (2012)
Zhou, Y., Wursch, M., Giger, E., Gall, H., Lu, J.: A bayesian network based approach for change coupling prediction. In: 15th Working Conference on WCRE 2008, pp. 27–36 (2008)
Zimmermann, T., Zeller, A., Weissgerber, P., Diehl, S.: Mining version histories to guide software changes. IEEE Transactions on soft Engineering 31(6), 429–445 (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Scaliante Wiese, I., Takashi Kuroda, R., Nassif Roma Junior, D., Ré, R., Ansaldi Oliva, G., Aurelio Gerosa, M. (2014). Using Structural Holes Metrics from Communication Networks to Predict Change Dependencies. In: Baloian, N., Burstein, F., Ogata, H., Santoro, F., Zurita, G. (eds) Collaboration and Technology. CRIWG 2014. Lecture Notes in Computer Science, vol 8658. Springer, Cham. https://doi.org/10.1007/978-3-319-10166-8_27
Download citation
DOI: https://doi.org/10.1007/978-3-319-10166-8_27
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-10165-1
Online ISBN: 978-3-319-10166-8
eBook Packages: Computer ScienceComputer Science (R0)