Advertisement

Using Structural Holes Metrics from Communication Networks to Predict Change Dependencies

  • Igor Scaliante Wiese
  • Rodrigo Takashi Kuroda
  • Douglas Nassif Roma Junior
  • Reginaldo Ré
  • Gustavo Ansaldi Oliva
  • Marco Aurelio Gerosa
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8658)

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.

Keywords

structural holes metrics social network analysis change dependencies communication network Conway’s law 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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)Google Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    Burt, R.: Structural Holes: The Social Structure of Competition. Harvard University Press (1995)Google Scholar
  8. 8.
    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)CrossRefGoogle Scholar
  9. 9.
    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)CrossRefGoogle Scholar
  10. 10.
    Conover, W.J.: Practical Nonparametric Statistics, vol. 2. John Wiley and SonsGoogle Scholar
  11. 11.
    Conway, M.E.: How do committees invent? Datamation (1968)Google Scholar
  12. 12.
    D’Ambros, M., Lanza, M.: Reverse engineering with logical coupling. In: 13th Working Conference on WCRE 2006, pp. 189–198 (2006)Google Scholar
  13. 13.
    D’Ambros, M., Lanza, M., Robbes, R.: On the relationship between change coupling and software defects. In: WCRE 2009, pp. 135–144 (2009)Google Scholar
  14. 14.
    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)CrossRefGoogle Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    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)Google Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    Kwan, I., Cataldo, M., Damian, D.: Conway’s law revisited: The evidence for a task-based perspective. IEEE Software 29(1), 90–93 (2012)CrossRefGoogle Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    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)CrossRefGoogle Scholar
  21. 21.
    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)Google Scholar
  22. 22.
    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)Google Scholar
  23. 23.
    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)Google Scholar
  24. 24.
    Rahman, F., Devanbu, P.T.: How, and why, process metrics are better. In: ICSE, pp. 432–441 (2013)Google Scholar
  25. 25.
    Tsay, J., Dabbish, L.A., Herbsleb, J.D.: Influence of social and technical factors for evaluating contribution in github. In: ICSE (2014)Google Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    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)Google Scholar
  28. 28.
    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)Google Scholar
  29. 29.
    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)Google Scholar
  30. 30.
    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)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Igor Scaliante Wiese
    • 2
  • Rodrigo Takashi Kuroda
    • 1
  • Douglas Nassif Roma Junior
    • 2
  • Reginaldo Ré
    • 2
  • Gustavo Ansaldi Oliva
    • 3
  • Marco Aurelio Gerosa
    • 3
  1. 1.PPGI - UTFPR/CPBrazil
  2. 2.UTFPR/CMBrazil
  3. 3.Department of Computer ScienceIME/USPBrazil

Personalised recommendations