计算机科学 ›› 2018, Vol. 45 ›› Issue (8): 166-173.doi: 10.11896/j.issn.1002-137X.2018.08.030
唐倩文, 陈良育
TANG Qian-wen, CHEN Liang-yu
摘要: 随着软件版本的快速迭代,软件代码的规模迅速扩大,软件设计与质量问题已引起了IT领域的广泛关注。利用复杂网络理论研究软件系统的整体性质已经成为解决这些问题的一种重要方法。将软件源码依赖关系表征为网络,借助复杂网络方法,可以更深入地了解代码宏观层面的结构组成并掌握整体演化趋势,有助于开发者优化整体架构,使软件更稳定、性能更好。Tomcat是一种开源的主流Java EE应用服务器,已经在工业界得到了广泛的应用。基于复杂网络方法,通过研究Tomcat的21个历史版本,发现这些版本的类依赖关系网络满足小世界网络性质和无标度网络性质;同时深度分析了其中9个版本的演化过程,发现Tomcat具有优先连接倾向,因而能一直保持软件的鲁棒性。
中图分类号:
[1]HE K,PENG R,LIU J,et al.Design methodology of networked software evolution growth based on software patterns[J].Journal of Systems Science and Complexity,2006,19(2):157-181. [2]GODFREY M W,TU Q.Evolution in open source software:A case study[C]∥International Conference on Software Maintenance.IEEE,2000:131. [3]TIAN H,ZHAO H.Metrics for software structure complexity based on software weighted network[J].Computer Science,2016,43(S2):506-508.(in Chinese) 田鹤,赵海.基于软件加权网络的软件结构复杂性度量[J].计算机科学,2016,43(S2):506-508. [4]WANG L,WANG Z,YANG C,et al.Linux kernels as complex networks:A novel method to study evolution[C]∥IEEE International Conference on Software Maintenance.IEEE,2009:41-50. [5]VASA R,SCHNEIDER J G,NIERSTRASZ O.The inevitable stability of software change[C]∥IEEE International Conference on Software Maintenance.DBLP,2007:4-13. [6]SHEN P T,CHEN L Y.Complex network analysis in Java application systems[J].Journal of East China Normal University Natural (Natural Science),2017(1):38-51.(in Chinese)沈娉婷,陈良育.Java应用系统的复杂网络分析.华东师范大学学报(自然科学版),2017(1):38-51. [7]MYERS C R.Software systems as complex networks:structure,function,and evolvability of software collaboration graphs[J].Physical Review E,2003,68(4):046116. [8]BARABÁSI A L,ALBERT R.Emergence of scaling in random networks[J].Science,1999,286(5439):509-512. [9]汪小帆,李翔,陈关荣.网络科学导论[M].北京:高等教育出版社,2012:81-293. [10]NEWMAN M E J,WATTS D J.Renormalization group analysis of the small-world network model[J].Physics Letters A,1999,263(4-6):341-346. [11]CLAUSET A,SHALIZI C R,NEWMAN M E J.Power-Lawdistributions in empirical data[J].Siam Review,2007,51(4):661-703. [12]WATTS D J,STROGATZ S H.Collective dynamics of ‘small-world’ networks[J].Nature,1998,393(6684):440-442. [13]LOVROUBEL J,BAJEC M.Software systems through complex networks science:review,analysis and applications[C]∥International Workshop on Software Mining.2012:9-16. |
[1] | 周慧, 施皓晨, 屠要峰, 黄圣君. 基于主动采样的深度鲁棒神经网络学习 Robust Deep Neural Network Learning Based on Active Sampling 计算机科学, 2022, 49(7): 164-169. https://doi.org/10.11896/jsjkx.210600044 |
[2] | 闫萌, 林英, 聂志深, 曹一凡, 皮欢, 张兰. 一种提高联邦学习模型鲁棒性的训练方法 Training Method to Improve Robustness of Federated Learning 计算机科学, 2022, 49(6A): 496-501. https://doi.org/10.11896/jsjkx.210400298 |
[3] | 张程瑞, 陈俊杰, 郭浩. 静息态人脑功能超网络模型鲁棒性对比分析 Comparative Analysis of Robustness of Resting Human Brain Functional Hypernetwork Model 计算机科学, 2022, 49(2): 241-247. https://doi.org/10.11896/jsjkx.201200067 |
[4] | 穆俊芳, 郑文萍, 王杰, 梁吉业. 基于重连机制的复杂网络鲁棒性分析 Robustness Analysis of Complex Network Based on Rewiring Mechanism 计算机科学, 2021, 48(7): 130-136. https://doi.org/10.11896/jsjkx.201000108 |
[5] | 王学光, 张爱新, 窦炳琳. 复杂网络上的非线性负载容量模型 Non-linear Load Capacity Model of Complex Networks 计算机科学, 2021, 48(6): 282-287. https://doi.org/10.11896/jsjkx.200700040 |
[6] | 张久杰, 陈超, 聂宏轩, 夏玉芹, 张丽萍, 马占飞. 基于类粒度的克隆代码群稳定性实证研究 Empirical Study on Stability of Clone Code Sets Based on Class Granularity 计算机科学, 2021, 48(5): 75-85. https://doi.org/10.11896/jsjkx.200900062 |
[7] | 王继文, 吴毅坚, 彭鑫. 基于演化和语义特征的上帝类检测方法 Approach of God Class Detection Based on Evolutionary and Semantic Features 计算机科学, 2021, 48(12): 59-66. https://doi.org/10.11896/jsjkx.210100077 |
[8] | 仝鑫, 王斌君, 王润正, 潘孝勤. 面向自然语言处理的深度学习对抗样本综述 Survey on Adversarial Sample of Deep Learning Towards Natural Language Processing 计算机科学, 2021, 48(1): 258-267. https://doi.org/10.11896/jsjkx.200500078 |
[9] | 何鹏, 喻绿君. 面向群体协作开发的开源软件峭壁分析 Analysis of Open Source Software Cliff Walls for Group Collaborative Development 计算机科学, 2020, 47(6): 51-58. https://doi.org/10.11896/jsjkx.190300140 |
[10] | 吴庆洪, 高晓东. 稀疏表示和支持向量机相融合的非理想环境人脸识别 Face Recognition in Non-ideal Environment Based on Sparse Representation and Support Vector Machine 计算机科学, 2020, 47(6): 121-125. https://doi.org/10.11896/jsjkx.190500058 |
[11] | 张静宣, 江贺. 代码标识符归一化研究现状及发展趋势 Research Status and Development Trend of Identifier Normalization 计算机科学, 2020, 47(3): 1-4. https://doi.org/10.11896/jsjkx.200200009 |
[12] | 卢冬冬, 吴洁, 刘鹏, 盛永祥. 开源软件关键开发者类型及协作网络鲁棒性分析 Analysis of Key Developer Type and Robustness of Collaboration Network in Open Source Software 计算机科学, 2020, 47(12): 100-105. https://doi.org/10.11896/jsjkx.200300147 |
[13] | 陈晓文, 刘光帅, 刘望华, 李旭瑞. 结合LoG边缘检测和增强局部相位量化的模糊图像识别 Blurred Image Recognition Based on LoG Edge Detection and Enhanced Local Phase Quantization 计算机科学, 2020, 47(12): 197-204. https://doi.org/10.11896/jsjkx.191000054 |
[14] | 钟林辉, 扶丽娟, 叶海涛, 齐杰, 徐静. 软件演化历史的逆向工程生成方法研究 Study on Reverse Engineering Generation Method of Software Evolution History 计算机科学, 2020, 47(11A): 549-556. https://doi.org/10.11896/jsjkx.200200067 |
[15] | 高利剑,毛启容. 环境辅助的多任务混合声音事件检测方法 Environment-assisted Multi-task Learning for Polyphonic Acoustic Event Detection 计算机科学, 2020, 47(1): 159-164. https://doi.org/10.11896/jsjkx.190200365 |
|