An Analysis of the Co-Evolution of Socio-Technique Network in Open-Source Software System
HE Peng2, LI Bing1,3, CHENG Can1,2, ZENG Cheng4
1.a. State Key Laboratory of Software Engineering & China School of Computer, b. International School of Software, c. Research Center of Complex Network, Wuhan University, Wuhan 430072, China; 2. School of Computer and Information Engineering, Hubei University, Wuhan 430062, China
Abstract:We attempt to discuss the issue from the perspective of socio-technique congruence. To construct the developer network and software network, we collect the source codes and developers′ historical data of 10 consecutive versions from the open-source software project Vuze. Then, we compare the co-evolution of the two networks by introducing some typical parameters, i.e., the scale, average degree, path lengths, clustering coefficient, and community structure. The results show that: the growth of software network is cyclical, about 3 to 4 versions a cycle, whereas the developer network shows a linear increase. Their average degree parameters meet the approximately linear increase with time as a whole. Although the local collaboration in developer network is more significant, the common “small world” characteristic becomes more obvious and their average path lengths decrease regularly. Both networks have a decreased trend of the modularity, but the fluctuation of modularity in developer network is sharper.
何鹏, 李兵, 程璨, 曾诚. 开源软件系统中社会-技术网络的协同演化分析[J]. 复杂系统与复杂性科学, 2015, 12(2): 38-45.
HE Peng, LI Bing, CHENG Can, ZENG Cheng. An Analysis of the Co-Evolution of Socio-Technique Network in Open-Source Software System[J]. Complex Systems and Complexity Science, 2015, 12(2): 38-45.
[1] 王怀民, 吴文峻, 毛新军, 等. 复杂软件系统的成长性构造与适应性演化[J]. 中国科学:信息科学, 2014, 44(6):743-761. Wang Huaimin, Wu Wenjun, Mao Xinjun, et al. Growing construction and adaptive evolution of complex software system[J]. Scientia Sinica Informationis, 2014, 44(6):743-761. [2] 李兵, 王浩, 李增扬, 等. 基于复杂网络的软件复杂性度量研究[J]. 电子学报, 2006,32(12A):2371-2375. Li Bing, Wang Hao, Li Zengyang, et al. Software complexity metrics based on complex networks[J]. Acta Electronica Sinica, 2006, 32(12A):2371-2375. [3] Bhattacharya P, Iliofotou M, Neamtiu I, et al. Graph-based analysis and prediction for software evolution[C]//Proceedings of the 34th International Conference on Software Engineering (ICSE).Zurich,Switzerland:IEEE, 2012:419-429. [4] Pan W F, Li B, Ma Y T, et al. Multi-granularity evolution analysis of software using complex network theory[J]. Journal of System Science and Complexity, 2010,24(4):1-14. [5] Lehman M M, Ramil J F, Wernick P D, et al. Metrics and laws of software evolution-the nineties view[C]//Proceedings of the 4th International Symposium on Software Metrics.Washington, USA:ACM, 1997:20-32. [6] Kleinberg J. The convergence of social and technological networks[J]. Communications of the ACM, 2008,51(11):66-72. [7] Conway M E. How do committees invent[J]. Datamation, 1968,14(4): 28-31. [8] Zanetti M S. The co-evolution of socio-technical structures in sustainable software development: Lessons from the open source software communities[C]//Proceedings of the 34th International Conference on Software Engineering. Zurich,Swizerland:IEEE, 2012:1587-1590. [9] Valverde S, Cancho R, and Sole R. Scale-free networks from optimal design[J]. Euro physics Letters, 2002,60(4):512-517. [10] Valverde S and Sole R. Hierarchical small worlds in software architecture[DB/OL]. arXiv preprint cond-mat/0307278, 2003. [11] Subelj L. Software systems through complex networks science: review, analysis and applications[C]//Proceedings of the First International Workshop on Software Mining.Beijing,China:ACM, 2012: 9-16. [12] Chatzigeorgiou A, Melas G. Trends in object-oriented software evolution: investigating network properties[C]. Proceedings of the 34th International Conference on Software Engineering.Zurich,Switzerland:IEEE, 2012: 1309-1312. [13] Valverde S and Sole R. Network motifs in computational graphs: a case study in software architecture[J]. Physical Review E, 2005,72(2): 026107. [14] Tosun A, Turhan B, and Bener A. Validation of network measures as indicators of defective modules in software systems[C]//Proceedings of the 5th International Conference on Predictor Models in Software Engineering.Vancouver,Canada:ACM, 2009: 9. [15] Steidl D, Hummel B, Juergens E. Using network analysis for recommendation of central software classes[C]//Proceedings of the 19th Working Conference on Reverse Engineering.Kingston,Canada:IEEE, 2012: 93-102. [16] Jenkins S, Kirk S R. Software architecture graphs as complex networks: a novel partitioning scheme to measure stability and evolution[J]. Information Science, 2007,17(12): 2587-2601. [17] Wang L, Wang Z, Yang C, et al. Linux kernels as complex networks: a novel method to study evolution[C]//Proceedings of IEEE International Conference on Software Maintenance.Edmonton,Canada:IEEE, 2009:41-50. [18] Businge J, Serebrenik A, Brand M. An empirical study of the evolution of eclipse third-party plug-ins[C]//Proceedings of the Joint ERCIM Workshop on Software Evolution and International Workshop on Principles of Software Evolution Antwerp,Belgium:ACM, 2010:63-72. [19] Ngamkajornwiwat K, Zhang D, Koru A G, et al. An exploratory study on the evolution of OSS developer communities[C]//Proceedings of the 41st Annual Hawaii Int′l Conf on System Sciences.Hawaii:IEEE, 2008: 305-305. [20] Hong Q, Kim S, Cheung S, et al. Understanding a developer social network and its evolution[C]//Proceedings of 27th IEEE International Conference on Software Maintenance.Williamsburg,USA:IEEE, 2011:323-332. [21] Datta S, Sindhgatta R, and Sengupta B. Evolution of developer collaboration on the Jazz Platform: a study of a large scale agile project[C]//Proceedings of the 4th India Software Engineering Conference, 2011: 21-30. [22] Kumar A, Gupta A. Evolution of developer social network and its impact on bug fixing process[C]//Proceedings of the 6th India Software Engineering Conference.New Delhi,India:ACM, 2013:63-72. [23] Cataldo M, Herbsleb J D. Communication networks in geographically distributed software development[C]//Proceedings of the 2008 ACM conference on Computer supported cooperative work.San Digeo,USA: ACM, 2008:579-588. [24] Lim S L, Bentley P J. Evolving relationships between social networks and stakeholder involvement in software projects[C]//Proceedings of the 13th annual conference on Genetic and evolutionary computation.Dublin,Ireland:ACM, 2011:1899-1906. [25] Sharma V S, Kaulgud V. Studying team evolution during software testing[C]//Proceedings of the 4th International Workshop on Cooperative and Human Aspects of Software Engineering.Waikiki,Honolulu,USA:ACM, 2011: 72-75. [26] 何鹏, 李兵, 杨习辉. Roster:一种开发者潜在同行推荐方法[J]. 计算机学报, 2014,37(4):859-872. He Peng, Li Bin, Yang Xihui. Roster: an approach to potential peer recommendation[J]. Chinese Journal of Computers, 2014,37(4):859-872. [27] Barabasi A L, Jeong H, Neda Z. Evolution of the social network of scientific collaborations[J]. Physica A, 2002,311(3/4): 590-614. [28] Sole R, Corominas-Murtra B, Valverde S, et al. Language networks: their structure, function, and evolution[J]. Complexity, 2010,15(6): 20-26. [29] Newman M E J. Fast algorithm for detecting community structure in networks[J]. Physical Review, 2004,69(6): 006133. [30] Blondel V D, Guillaume J L, Lambiotte R. Fast unfolding of communities in large networks[J]. Journal of Statistical Mechanics: Theory and Experiment, 2008,10:P10008.