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.
[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.