Abstract
With the increasing popularity of Internet, more and more developers are collaborating together for software development. During the collaboration, a lot of information related to software development, including communication and coordination information of developers, can be recorded in software repositories. The information can be employed to construct Developer Social Networks (DSNs) for facilitating tasks in software engineering. In this paper, we survey recent advances of DSNs and examine three fundamental steps of DSNs, namely construction, analysis, and applications. We summarize the state-of-the-art methods in the three steps and investigate the relationships among them. Furthermore, we discuss the main issues and point out the future opportunities in the study of DSNs.
概要
概要
随着互联网的迅速普及, 越来越多的开发者以共同协作的方式完成软件开发. 在此过程中, 与开发者交流协作相关的大量软件开发信息被记录和存储于软件资源库中. 这些信息可以用于构建开发者社交网络(DSNs), 进而协助完成软件工程任务. 本文总结了近年来关于开发者社交网络的研究进展, 重点分析了开发者社交网络的三个基本步骤: 构建、 分析及应用, 讨论了开发者社交网络研究的主要问题并指出了未来方向.
创新点
本文首次对开发者社交网络研究进行系统总结, 从构建、 分析和应用三个步骤分析研究现状和未来研究方向.
Similar content being viewed by others
References
Herbsleb J D, Mockus A. An empirical study of speed and communication in globally distributed software development. IEEE Trans Softw Eng, 2003, 29: 481–494
Cataldo M, Herbsleb J D. Communication networks in geographically distributed software development. In: Proceedings of 2008 ACM Conference on Computer Supported Cooperative Work, San Diego, 2008. 579–588
Manteli C, van Vliet H, van Den Hooff B. Adopting a social network perspective in global software development. In: Proceedings of 7th International Conference on Global Software Engineering, Porto Alegre, 2012. 124–133
Bird C. Sociotechnical coordination and collaboration in open source software. In: Proceedings of 27th IEEE International Conference on Software Maintenance, Williamsburg, 2011. 568–573
Brooks Jr, Frederick P. The Mythical Man-Month, Anniversary Edition: Essays on Software Engineering. New Jearsey: Pearson Education, 1995. 20–41
Madey G, Freeh V, Tynan R. The open source software development phenomenon: an analysis based on social network theory. In: Proceedings of Americas Conference on Information Systems, Dallas, 2002. 1806–1813
Xu J, Gao Y Q, Christley S, et al. A topological analysis of the open source software development community. In: Proceedings of 38th Hawaii International Conference on System Sciences, Hawaii, 2005. 198a–198a
Xu J, Christley S, Madey G. Application of social network analysis to the study of open source software. In: Jürgen B, Philipp J S, eds. The Economics of Open Source Software Development. Amsterdam: Elsevier Science, 2006. 205–224
Surian D, Lo D, Lim E P. Mining collaboration patterns from a large developer network. In: Proceedings of 17th Working Conference on Reverse Engineering, Beverly, 2010. 269–273
van Antwerp M, Madey G. The importance of social network structure in the open source software developer community. In: Proceedings of 43rd Hawaii International Conference on System Sciences, Hawaii, 2010. 1–10
Ferdian T, Bissyandé T F, Lo D, et al. Network structure of social coding in GitHub. In: Proceedings of 17th European Conference on Software Maintenance and Reengineering, Genova, 2013. 323–326
Lopez-Fernandez L, Robles G, Gonzalez-Barahona J M. Applying social network analysis to the information in CVS repositories. In: Proceedings of 2004 International Workshop on Mining Software Repositories, Edinburgh, 2004. 101–105
Yu L, Ramaswamy S. Mining CVS repositories to understand open-source project developer roles. In: Proceedings of 4th International Workshop on Mining Software Repositories, Minneapolis, 2007. 8–8
Meneely A, Williams L, Snipes W, et al. Predicting failures with developer networks and social network analysis. In: Proceedings of 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Atlanta, 2008. 2008. 13–23
Pohl M, Diehl S. What dynamic network metrics can tell us about developer roles. In: Proceedings of 2008 International Workshop on Cooperative and Human Aspects of Software Engineering, Leipzig, 2008. 81–84
Bettenburg N, Hassan A E. Studying the impact of social structures on software quality. In: Proceedings of 18th IEEE International Conference on Program Comprehension, Braga, 2010. 124–133
Meneely A, Corcoran M, Williams L. Improving developer activity metrics with issue tracking annotations. In: Proceedings of 2010 ICSE Workshop on Emerging Trends in Software Metrics, Cape Town, 2010. 75–80
Schwind M, Schenk A, Schneider M. A tool for the analysis of social networks in collaborative software development. In: Proceedings of 43rd Hawaii International Conference on System Sciences, Hawaii, 2010. 1–10
Jermakovics A, Sillitti A, Succi G. Mining and visualizing developer networks from version control systems. In: Proceedings of 4th International Workshop on Cooperative and Human Aspects of Software Engineering, Hawaii, 2011. 24–31
Meneely A, Williams L. Socio-technical developer networks: should we trust our measurements? In: Proceedings of 33rd International Conference on Software Engineering, Hawaii, 2011. 281–290
Jermakovics A, Sillitti A, Succi G. Exploring collaboration networks in open-source projects. In: Proceedings of 9th IFIP WG 2.13 International Conference, OSS 2013, Koper-Capodistria, 2013. 97–108
MacLean A C, Knutson C D. Apache commits: social network dataset. In: Proceedings of 10th IEEE Working Conference on Mining Software Repositories, San Francisco, 2013. 135–138
Simpson B. Changeset based developer communication to detect software failures. In: Proceedings of 35th International Conference on Software Engineering, San Francisco, 2013. 1468–1470
Crowston K, Howison J. The social structure of free and open source software development. First Monday, 2005, 10
Wagstrom P A, Herbsleb J, Carley K. A social network approach to free/open source software simulation. In: Proceedings of 1st International Conference on Open Source Systems, Genova, 2005. 16–23
Bird C, Gourley A, Devanbu P, et al. Mining email social networks. In: Proceedings of 2006 International Workshop on Mining Software Repositories, Shanghai, 2006. 137–143
Hossain L, Wu A, Chung K K. Actor centrality correlates to project based coordination. In: Proceedings of 2006 ACM Conference on Computer Supported Cooperative Work, Banff, 2006. 363–372
Bird C, Pattison D, D’Souza R. Latent social structure in open source projects. In: Proceedings of 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Atlanta, 2008. 24–35
Nia R, Bird C, Devanbu P, et al. Validity of network analyses in open source projects. In: Proceedings of 7th International Working Conference on Mining Software Repositories, Cape Town, 2010. 201–209
Canfora G, Cerulo L, Cimitile M, et al. Social interactions around cross-system bug fixings: the case of FreeBSD and OpenBSD. In: Proceedings of 8th International Working Conference on Mining Software Repositories, Waikiki, 2011. 143–152
Zhang W, Yang Y, Wang Q. Network analysis of OSS evolution: an empirical study on ArgoUML project. In: Proceedings of 12th International Workshop on Principles of Software Evolution and the 7th Annual ERCIM Workshop on Software Evolution, Szeged, 2011. 71–80
Zhang W, Yang Y, Wang Q. An empirical study on identifying core developers using network analysis. In: Proceedings of 2nd International Workshop on Evidential Assessment of Software Technologies, Lund, 2012. 43–48
Sureka A, Goyal A, Rastogi A. Using social network analysis for mining collaboration data in a defect tracking system for risk and vulnerability analysis. In: Proceedings of 4th India Software Engineering Conference, Thiruvananthapuram, 2011. 195–204
Howison J, Inoue K, Crowston K. Social dynamics of free and open source team communications. In: Proceedings of IFIP Working Group 2.13 Foundation on Open Source Software, Como, 2006. 319–330
Datta S, Kaulgud V, Sharma V S, et al. A social network based study of software team dynamics. In: Proceedings of 3rd Annual India Software Engineering Conference, Mysore, 2010. 33–42
Hong Q N, Kim S, Cheung S C. Understanding a developer social network and its evolution. In: Proceedings of 27th IEEE International Conference on Software Maintenance, Williamsburg, 2011. 323–332
Zhou M, Mockus A. Does the initial environment impact the future of developers? In: Proceedings of 33rd International Conference on Software Engineering, Hawaii, 2011. 271–280
Kumar A, Gupta A. Evolution of developer social network and its impact on bug fixing process. In: Proceedings of 6th India Software Engineering Conference, New Delhi, 2013. 63–72
Xuan J F, Jiang H, Ren Z L, et al. Developer prioritization in bug repositories. In: Proceedings of 34th International Conference on Software Engineering, Zurich, 2012. 25–35
Biçer S, Bener A B, Çaǧlayan B. Defect prediction using social network analysis on issue repositories. In: Proceedings of 2011 International Conference on Software and Systems Process, Honolulu, 2011. 63–71
Bhattacharya P, Neamtiu I. Fine-grained incremental learning and multi-feature tossing graphs to improve bug triaging. In: Proceedings of 26th IEEE International Conference on Software Maintenance, Timisoara, 2010. 1–10
Bhattacharya P, Iliofotou M, Neamtiu I, et al. Graph-based analysis and prediction for software evolution. In: Proceedings of 34th International Conference on Software Engineering, Zurich, 2012. 419–429
Zhang T, Lee B. An automated bug triage approach: a concept profile and social network based developer recommendation. Intelligent Computing Technology, 2012. 505–512
Zanetti M S, Sarigol E, Scholtes I, et al. A quantitative study of social organisation in open source software communities. In: Proceedings of 7th International Conference on Computer Science & Education, Melbourne, 2012. 116–122
Zanetti M S, Scholtes I, Tessone C J, et al. Categorizing bugs with social networks: a case study on four open source software communities. In: Proceedings of 35th International Conference on Software Engineering, San Francisco, 2013. 1032–1041
Wu W J, Zhang W, Yang Y, et al. Drex: developer recommendation with k-nearest-neighbor search and expertise ranking. In: Proceedings of 18th Asia Pacific Software Engineering Conference, Ho Chi Minh City, 2011. 389–396
Nagappan N, Murphy B, Basili V. The influence of organizational structure on software quality: an empirical case study. In: Proceedings of 30th International Conference on Software Engineering, Leipzig, 2008. 521–530
Damian D, Helms R, Kwan I, et al. The role of domain knowledge and cross-functional communication in sociotechnical coordination. In: Proceedings of 35th International Conference on Software Engineering, San Francisco, 2013. 442–451
Lim S L, Bentley P J. Evolving relationships between social networks and stakeholder involvement in software projects. In: Proceedings of 13th Annual Conference on Genetic and Evolutionary Computation, Dublin, 2011. 1899–1906
Wolf T, Schröter A, Damian D, et al. Predicting build failures using social network analysis on developer communication. In: Proceedings of 31st International Conference on Software Engineering, Vancouver, 2009. 1–11
de Souza C R, Quirk S, Trainer E, et al. Supporting collaborative software development through the visualization of socio-technical dependencies. In: Proceedings of 2007 International ACM Conference on Supporting Group Work, Sanibel Island, 2007. 147–156
Ell J. Identifying failure inducing developer pairs within developer networks. In: Proceedings of 35th International Conference on Software Engineering, San Francisco, 2013. 1471–1473
Pinzger M, Nagappan N, Murphy B. Can developer-module networks predict failures? In: Proceedings of 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Atlanta, 2008. 2–12
Bird C, Nagappan N, Gall H, et al. Putting it all together: Using socio-technical networks to predict failures. In: Proceedings of 20th International Symposium on Software Reliability Engineering, Mysuru, 2009. 109–119
Sarma A, Maccherone L, Wagstrom P, et al. Tesseract: interactive visual exploration of socio-technical relationships in software development. In: Proceedings of 31st International Conference on Software Engineering, Vancouver, 2009. 23–33
Begel A, Khoo Y P, Zimmermann T. Codebook: discovering and exploiting relationships in software repositories. In: Proceedings of 32nd International Conference on Software Engineering, Cape Town, 2010. 125–134
Surian D, Tian Y, Lo D, et al. Predicting project outcome leveraging socio-technical network patterns. In: Proceedings of 17th European Conference on Software Maintenance and Reengineering, Genova, 2013. 47–56
Surian D, Liu N, Lo D, et al. Recommending people in developers’ collaboration network. In: Proceedings of 18th Working Conference on Reverse Engineering, Limerick, 2011. 379–388
Ricca F, Marchetto A. Heroes in FLOSS projects: an explorative study. In: Proceedings of 17th Working Conference on Reverse Engineering, Beverly, 2010. 155–159
Page L, Brin S, Motwani R, et al. The PageRank Citation Ranking: Bringing Order to the Web. Stanford: Stanford InfoLab. 1999
Marczak S, Damian D, Stege U. Information brokers in requirement-dependency social networks. In: Proceedings of 16th IEEE International Requirements Engineering Conference, Barcelona, 2008. 53–62
Tamburri D A, Lago P, van Vliet H. Uncovering latent social communities in software development. IEEE Softw, 2013, 30: 29–36
Wang X F, Chen G R. Complex networks: small-world, scale-free and beyond. Circ Syst Mag, 2003, 3: 6–20
Watts D J, Strogatz S H. Collective dynamics of small-world networks. Nature, 1998, 393: 440–442
Barabási A L, Albert R. Emergence of scaling in random networks. Science, 1999, 286: 509–512
Sharma V S, Kaulgud V. Studying team evolution during software testing. In: Proceedings of 4th International Workshop on Cooperative and Human Aspects of Software Engineering, Hawaii, 2011. 72–75
Duc A N, Cruzes D S, Ayala C. Impact of stakeholder type and collaboration on issue resolution time in OSS Projects. In: Proceedings of 7th IFIP 2.13 International Conference, OSS 2011, Salvador, 2011. 1–16
Gloor P A, Laubacher R, Dynes S B. Visualization of communication patterns in collaborative innovation networks-analysis of some W3C working groups. In: Proceedings of 12th International Conference on Information and Knowledge Management, New Orleans, 2003. 56–60
Gilbert E, Karahalios K. CodeSaw: a social visualization of distributed software development. In: Proceedings of 11th IFIP TC 13 International Conference, Rio de Janeiro, 2007. 303–316
Borici A, Blincoe K, Schroter A. ProxiScientia: toward real-time visualization of task and developer dependencies in collaborating software development teams. In: Proceedings of 4th International Workshop on Cooperative and Human Aspects of Software Engineering, Zurich, 2012. 5–11
Wolf T, Schröter A, Damian D, et al. Mining task-based social networks to explore collaboration in software teams. IEEE Softw, 2009, 26: 58–66
Kwan I, Schroter A, Damian D. Does socio-technical congruence have an effect on software build success? A study of coordination in a software project. IEEE Trans Softw Eng, 2011, 37: 307–324
Hu W, Wong K. Using citation influence to predict software defects. In: Proceedings of 10th Working Conference on Mining Software Repositories, San Francisco, 2013. 419–428
Bird C, Nagappan N, Murphy B, et al. Don’t touch my code! Examining the effects of ownership on software quality. In: Proceedings of 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, Szeged, 2011. 4–14
Jeong G, Kim S, Zimmermann T. Improving bug triage with bug tossing graphs. In: Proceedings of 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on Foundations of Software Engineering, Amsterdam, 2009. 111–120
Meneely A, Williams O. Interactive churn metrics: socio-technical variants of code churn. ACM SIGSOFT Softw Eng Notes, 2012, 37: 1–6
Zimmermann T, Nagappan N. Predicting defects using network analysis on dependency graphs. In: Proceedings of 30th International Conference on Software engineering, Leipzig, 2008. 531–540
Nguyen T H, Adams B, Hassan A E. Studying the impact of dependency network measures on software quality. In: Proceedings of 26th IEEE International Conference on Software Maintenance, Timisoara, 2010. 1–10
Ohira M, Ohsugi N, Ohoka T, et al. Accelerating cross-project knowledge collaboration using collaborative filtering and social networks. ACM SIGSOFT Softw Eng Notes, 2005, 30: 1–5
Fenton N E, Neil M. A critique of software defect prediction models. IEEE Trans Softw Eng, 1999, 25: 675–689
Nagappan N, Ball T, Zeller A. Mining metrics to predict component failures. In: Proceedings of 28th International Conference on Software Engineering, Shanghai, 2006. 452–461
Schröter A, Zimmermann T, Zeller A. Predicting component failures at design time. In: Proceedings of 2006 ACM/IEEE International Symposium on Empirical Software Engineering, Rio de Janeiro, 2006. 18–27
Weyuker E J, Ostrand T J, Bell R M. Using developer information as a factor for fault prediction. In: Proceedings of 3rd International Workshop on Predictor Models in Software Engineering, Minneapolis, 2007. 8–8
Cubranic D, Murphy G C, Singer J, et al. Hipikat: a project memory for software development. IEEE Trans Softw Eng, 2005, 31: 446–465
Bird C, Nagappan N, Devanbu P, et al. Does distributed development affect software quality? An empirical case study of Windows Vista. Commun ACM, 2009, 52: 85–93
Mockus A. Organizational volatility and its effects on software defects. In: Proceedings of 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Santa Fe, 2010. 117–126
Bettenburg N, Hassan A E. Studying the impact of social interactions on software quality. Empir Softw Eng, 2013, 18: 375–431
Amrit C, van Hillegersberg J, Kumar K. Identifying coordination problems in software development: finding mismatches between software and project team structures. arXiv:1201.4142, 2012
Rahman F, Devanbu P. Ownership, experience and defects: a fine-grained study of authorship. In: Proceedings of 33rd International Conference on Software Engineering, Hawaii, 2011. 491–500
Anvik J, Hiew L, Murphy G C. Who should fix this bug? In: Proceedings of 28th International Conference on Software Engineering, Shanghai, 2006. 361–370
Kagdi H, Hammad M, Maletic J I. Who can help me with this source code change? In: Proceedings of 24th IEEE International Conference on Software Maintenance, Beijing, 2008. 157–166
Cubranic D. Automatic bug triage using text categorization. In: Proceedings of 16th International Conference on Software Engineering & Knowledge Engineering, Banff, 2004
Xia X, Lo D, Wang X Y, et al. Accurate developer recommendation for bug resolution. In: Proceedings of 20th Working Conference on Reverse Engineering, Koblenz, 2013. 72–81
Lim S L, Quercia D, Finkelstein A. StakeNet: using social networks to analyse the stakeholders of large-scale software projects. In: Proceedings of 32nd International Conference on Software Engineering, Cape Town, 2010. 295–304
Lim S L, Finkelstein A. StakeRare: using social networks and collaborative filtering for large-scale requirements elicitation. IEEE Trans Softw Eng, 2012, 38: 707–735
Tang J, Wu S, Sun J. Confluence: conformity influence in large social networks. In: Proceedings of 19th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, Chicago, 2013. 347–355
Kuo T T, Yan R, Huang Y Y, et al. Unsupervised link prediction using aggregative statistics on heterogeneous social networks. In: Proceedings of 19th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, Chicago, 2013. 775–783
Kim J, Kim S K, Yu H. Scalable and parallelizable processing of influence maximization for large-scale social networks? In: Proceedings of 29th IEEE International Conference on Data Engineering, Brisbane, 2013. 266–277
Wasserman A I. Software engineering issues for mobile application development. In: Proceedings of FSE/SDP Workshop on Future of Software Engineering Research, Santa Fe, 2010. 397–400
Galvis Carreño L V, Winbladh K. Analysis of user comments: an approach for software requirements evolution. In: Proceedings of 35th International Conference on Software Engineering, San Francisco, 2013. 582–591
Gomez L, Neamtiu I, Azim T, et al. RERAN: timing-and touch-sensitive record and replay for Android. In: Proceedings of 35th International Conference on Software Engineering, San Francisco, 2013. 72–81
Hao S, Li D, Halfond W G. Estimating mobile application energy consumption using program. In: Proceedings of 35th International Conference on Software Engineering, San Francisco, 2013. 92–101
MacHiry A, Tahiliani R, Naik M. Dynodroid: An input generation system for Android apps. In: Proceedings of 9th Joint Meeting on Foundations of Software Engineering, Saint Petersburg, 2013. 224–234
Jiang H, Ren Z L, Nie L M. Software engineering issues in mobile big data applications. Commun CCF, 2014, 10: 24–28
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Zhang, W., Nie, L., Jiang, H. et al. Developer social networks in software engineering: construction, analysis, and applications. Sci. China Inf. Sci. 57, 1–23 (2014). https://doi.org/10.1007/s11432-014-5221-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11432-014-5221-6
Keywords
- developer social networks
- social network analysis
- software maintenance
- communication and coordination
- prediction and recommendation