Exploring Collaboration Networks in Open-Source Projects

  • Andrejs Jermakovics
  • Alberto Sillitti
  • Giancarlo Succi
Part of the IFIP Advances in Information and Communication Technology book series (IFIPAICT, volume 404)

Abstract

Analysis of developer collaboration networks presents an opportunity for understanding and thus improving the software development process. Discovery of these networks, however, presents a challenge since the collaboration relationships are initially not known. In this work we apply an approach for discovering collaboration networks of open source developers from Version Control Systems (VCS). It computes similarities among developers based on common file changes, constructs the network of collaborating developers and applies filtering techniques to improve the readability of the visualized network. We use the approach in case studies of three different projects from open source (phpMyAdmin, Eclipse Data Tools Platform and Gnu Compiler Collection) to learn their organizational structure and patterns. Our results indicate that with little effort the approach is capable of revealing aspects of these projects that were previously not known or would require a lot of effort to discover manually via other means, such as reading project documentation and forums.

Keywords

Collaboration networks version control systems open source 

References

  1. 1.
    Di Bella, E., Sillitti, A., Succi, G.: A multivariate classification of open source developers. Information Sciences 221(1), 72–83 (2013)CrossRefGoogle Scholar
  2. 2.
    Bird, C., Pattison, D., D’Souza, R., Filkov, V., Devanbu, P.: Chapels in the Bazaar? Latent Social Structure in OSS. In: 16th ACM SigSoft International Symposium on the Foundations of Software Engineering, Atlanta, GA (2008)Google Scholar
  3. 3.
    Borg, I., Groenen, P.: Modern Multidimensional Scaling: Theory and Applications. Springer (1997)Google Scholar
  4. 4.
    Coman, I., Sillitti, A.: Automated Identification of Tasks in Development Sessions. In: 16th IEEE International Conference on Program Comprehension, ICPC 2008, Amsterdam, The Netherlands, June 10-13 (2008)Google Scholar
  5. 5.
    Conway, M.E.: How Do Committees invent? Datamation 14(4), 28–31 (1968)Google Scholar
  6. 6.
    Crowston, K., Howison, J.: The Social Structure of Free and Open Source Software. First Monday 10(2) (2005)Google Scholar
  7. 7.
    Di Bella, E., Fronza, I., Phaphoom, N., Sillitti, A., Succi, G., Vlasenko, J.: Pair Programming and Software Defects – a large, industrial case study. IEEE Transaction on Software Engineering, doi: 10.1109/TSE.2012.68 Google Scholar
  8. 8.
    Freeman, L.C.: Visualizing Social Networks. Journal of Social Structure (2000)Google Scholar
  9. 9.
    Fronza, I., Sillitti, A., Succi, G.: An interpretation of the results of the analysis of pair programming during novices integration in a team. In: 3rd International Symposium on Empirical Software Engineering and Measurement, ESEM 2009 (2009)Google Scholar
  10. 10.
    Fronza, I., Sillitti, A., Succi, G., Terho, M., Vlasenko, J.: Failure prediction based on log files using Random Indexing and Support Vector Machines. Journal of Systems and Software 86(1), 2–11 (2013)CrossRefGoogle Scholar
  11. 11.
    Fruchterman, T.M.G., Reingold, E.: Graph Drawing by Force-Directed Placement. Software-Practice and Experience 21, 1129–1164 (1991)CrossRefGoogle Scholar
  12. 12.
    Heer, J., Boyd, D.: Vizster: Visualizing Online Social Networks. In: Proc. of the 2005 IEEE Symposium on Information Visualization, INFOVIS 2005, p. 5. IEEE Computer Society, Washington, DC (2005)CrossRefGoogle Scholar
  13. 13.
    Huang, S.-K., Liu, K.-M.: Mining version histories to verify the learning process of legitimate peripheral participants. In: Proceedings 2nd International Workshop on Mining Software Repositories, MSR 2005, pp. 84–88. ACM Press, New York (2005)Google Scholar
  14. 14.
    Huang, W., Hong, S., Eades, P.: How people read sociograms: a questionnaire study. In: Proc. of the 2006 Asia-Pacific Symposium on Information Visualisation, vol. 60, pp. 199–206. Australian Computer Society (2006)Google Scholar
  15. 15.
    Jeh, G., Widom, J.: Simrank: a measure of structural-context similarity. In: KDD 2002: Proceedings of the Eighth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 538–543 (2002)Google Scholar
  16. 16.
    Jermakovics, A., Scotto, M., Sillitti, A., Succi, G.: Lagrein: Visualizing User Requirements and Development Effort. In: 15th IEEE International Conference on Program Comprehension, ICPC 2007, Banff, Alberta, Canada, June 26-29 (2007)Google Scholar
  17. 17.
    Jermakovics, A., Moser, R., Sillitti, A., Succi, G.: Visualizing Software Evolution with Lagrein. In: 22nd Object-Oriented Programming, Systems, Languages & Applications, OOPSLA 2008, Nashville, TN, USA, October 19-23 (2008)Google Scholar
  18. 18.
    Jermakovics, A., Sillitti, A., Succi, G.: Mining and visualizing developer networks from version control systems. In: 4th International Workshop on Cooperative and Human Aspects of Software Engineering, CHASE 2011 (2011)Google Scholar
  19. 19.
    Lopez-Fernandez, L., Robles, G., Gonzalez-Barahona, J.M.: Applying social network analysis to the information in CVS repositories. In: Proc. of 1st Intl. Workshop on Mining Software Repositories, MSR 2004, pp. 101–105 (2004)Google Scholar
  20. 20.
    McCarey, F., Cinnéide, M.Ó., Kushmerick, N.: Rascal: A Recommender Agent for Agile Reuse. Artif. Intell. Rev. 24(3-4), 253–276 (2005)CrossRefGoogle Scholar
  21. 21.
    Meneely, A., Williams, L., Snipes, W., Osborne, J.: Predicting failures with developer networks and social network analysis. In: SIGSOFT 2008/FSE-16: Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 13–23. ACM, New York (2008)CrossRefGoogle Scholar
  22. 22.
    Meneely, A., Williams, L.: Socio-technical developer networks: should we trust our measurements? In: Proceedings of the 33rd International Conference on Software Engineering, ICSE (2011)Google Scholar
  23. 23.
    Mockus, A.: Succession: Measuring transfer of code and developer productivity. In: Proc. of the 2009 IEEE 31st International Conference on Software Engineering, May 16-24, pp. 67–77. IEEE Computer Society, Washington, DC (2009)CrossRefGoogle Scholar
  24. 24.
    Petrinja, E., Nambakam, R., Sillitti, A.: Introducing the OpenSource Maturity Model. In: 2nd Emerging Trends in FLOSS Research and Development Workshop at ICSE 2009, Vancouver, BC, Canada (2009)Google Scholar
  25. 25.
    Pinzger, M., Nagappan, N., Murphy, B.: Can developer-module networks predict failures? In: Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering, SIGSOFT 2008/FSE-16, Atlanta, Georgia, November 09-14, pp. 2–12. ACM, New York (2008)CrossRefGoogle Scholar
  26. 26.
    Pinzger, M., Gall, H.C.: Dynamic analysis of communication and collaboration in OSS projects. In: Collaborative Software Engineering, pp. 265–284. Springer (2010)Google Scholar
  27. 27.
    Raymond, E.S.: The Cathedral and the Bazaar. O’Reilly & Associates, Inc., Sebastopol (1999)Google Scholar
  28. 28.
    Resnick, P., Iacovou, N., Suchak, M., Bergstrom, P., Riedl, J.: GroupLens: An Open Architecture for Collaborative Filtering of Netnews. In: Proceedings of CSCW 1994, Chapel Hill, NC (1994)Google Scholar
  29. 29.
    Sarma, A., Maccherone, L., Wagstrom, P., Herbsleb, J.: Tesseract: Interactive visual exploration of socio-technical relationships in software development. In: Proceedings of the 2009 IEEE 31st International Conference on Software Engineering, May 16-24, pp. 23–33. IEEE Computer Society, Washington, DC (2009)CrossRefGoogle Scholar
  30. 30.
    Shardanand, U., Maes, P.: Social information filtering: algorithms for automating “word of mouth”. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pp. 210–217. ACM Press/Addison-Wesley Publishing Co., New York (1995)Google Scholar
  31. 31.
    de Souza, C.R., Quirk, S., Trainer, E., Redmiles, D.F.: Supporting collaborative software development through the visualization of socio-technical dependencies. In: Proceedings of the 2007 International ACM Conference on Supporting Group Work, GROUP 2007, pp. 147–156. ACM, New York (2007)CrossRefGoogle Scholar
  32. 32.
    Wolf, T., Schröter, A., Damian, D., Panjer, L.D., Nguyen, T.H.: Mining Task-Based Social Networks to Explore Collaboration in Software Teams. IEEE Softw. 26(1), 58–66 (2009)CrossRefGoogle Scholar
  33. 33.
    Yamauchi, Y., Yokozawa, M., Shinohara, T., Ishida, T.: Collaboration with Lean Media: how open-source software succeeds. In: Proceedings of the 2000 ACM Conference on Computer Supported Cooperative Work, pp. 329–338. ACM (December 2000)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2013

Authors and Affiliations

  • Andrejs Jermakovics
    • 1
  • Alberto Sillitti
    • 1
  • Giancarlo Succi
    • 1
  1. 1.Free University of Bolzano-BozenBolzano-BozenItaly

Personalised recommendations