Computer Science ›› 2018, Vol. 45 ›› Issue (8): 166-173.doi: 10.11896/j.issn.1002-137X.2018.08.030

• Software & Database Technology • Previous Articles     Next Articles

Analysis of Java Open Source System Evolution Based on Complex Network Theory

TANG Qian-wen, CHEN Liang-yu   

  1. Shanghai Key Laboratory of Trustworthy Computing,Shanghai 200062,China
  • Received:2017-05-22 Online:2018-08-29 Published:2018-08-29

Abstract: With the fast iteration of software version and the rapid development of software scale,software design and quality issues have aroused wide spread concern in the IT field.Using complex network theory to study the characteristics of software systems has become an important way to solve these problems.Characterizing software source code dependencies as a network,with the complex network method,the structure of the macroscopic level of the code can be deeply understood and the overall evolution trend can be grasped,which help the developers optimize the software architecture and make it better.As an open-source mainstream Java EE application server,Tomcat has been widely used in industry applications.Based on the complex network method,the conclusion comes out that Tomcat’s class dependency networks of all history versions satisfy the nature of small-world network and scale-free network.By deeply analyzing the evolution process of the nine versions,this paper found that Tomcat shows preferential attachment phenomenon,so it can maintain the robustness of software.

Key words: Complex network theory, Preferential attachment, Robustness, Software evolution, Tomcat

CLC Number: 

  • TP311.5
[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]LOVROŠUBEL J,BAJEC M.Software systems through complex networks science:review,analysis and applications[C]∥International Workshop on Software Mining.2012:9-16.
[1] ZHOU Hui, SHI Hao-chen, TU Yao-feng, HUANG Sheng-jun. Robust Deep Neural Network Learning Based on Active Sampling [J]. Computer Science, 2022, 49(7): 164-169.
[2] YAN Meng, LIN Ying, NIE Zhi-shen, CAO Yi-fan, PI Huan, ZHANG Lan. Training Method to Improve Robustness of Federated Learning [J]. Computer Science, 2022, 49(6A): 496-501.
[3] ZHANG Cheng-rui, CHEN Jun-jie, GUO Hao. Comparative Analysis of Robustness of Resting Human Brain Functional Hypernetwork Model [J]. Computer Science, 2022, 49(2): 241-247.
[4] MU Jun-fang, ZHENG Wen-ping, WANG Jie, LIANG Ji-ye. Robustness Analysis of Complex Network Based on Rewiring Mechanism [J]. Computer Science, 2021, 48(7): 130-136.
[5] WANG Xue-guang, ZHANG Ai-xin, DOU Bing-lin. Non-linear Load Capacity Model of Complex Networks [J]. Computer Science, 2021, 48(6): 282-287.
[6] ZHANG Jiu-jie, CHEN Chao, NIE Hong-xuan, XIA Yu-qin, ZHANG Li-ping, MA Zhan-fei. Empirical Study on Stability of Clone Code Sets Based on Class Granularity [J]. Computer Science, 2021, 48(5): 75-85.
[7] WANG Ji-wen, WU Yi-jian, PENG Xin. Approach of God Class Detection Based on Evolutionary and Semantic Features [J]. Computer Science, 2021, 48(12): 59-66.
[8] TONG Xin, WANG Bin-jun, WANG Run-zheng, PAN Xiao-qin. Survey on Adversarial Sample of Deep Learning Towards Natural Language Processing [J]. Computer Science, 2021, 48(1): 258-267.
[9] WU Qing-hong, GAO Xiao-dong. Face Recognition in Non-ideal Environment Based on Sparse Representation and Support Vector Machine [J]. Computer Science, 2020, 47(6): 121-125.
[10] HE Peng, YU Lv-jun. Analysis of Open Source Software Cliff Walls for Group Collaborative Development [J]. Computer Science, 2020, 47(6): 51-58.
[11] ZHANG Jing-xuan, JIANG He. Research Status and Development Trend of Identifier Normalization [J]. Computer Science, 2020, 47(3): 1-4.
[12] CHEN Xiao-wen, LIU Guang-shuai, LIU Wang-hua, LI Xu-rui. Blurred Image Recognition Based on LoG Edge Detection and Enhanced Local Phase Quantization [J]. Computer Science, 2020, 47(12): 197-204.
[13] LU Dong-dong, WU Jie, LIU Peng, SHENG Yong-xiang. Analysis of Key Developer Type and Robustness of Collaboration Network in Open Source Software [J]. Computer Science, 2020, 47(12): 100-105.
[14] ZHAO Sai, LIU Hao, WANG Yu-feng, SU Hang, YAN Ji-wei. Fuzz Testing of Android Inter-component Communication [J]. Computer Science, 2020, 47(11A): 303-309.
[15] ZHONG Lin-hui, FU Li-juan, YE Hai-tao, QI Jie, XU Jing. Study on Reverse Engineering Generation Method of Software Evolution History [J]. Computer Science, 2020, 47(11A): 549-556.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!