计算机科学 ›› 2019, Vol. 46 ›› Issue (2): 166-170.doi: 10.11896/j.issn.1002-137X.2019.02.026

• 软件与数据库技术 • 上一篇    下一篇

软件网络分形结构特征研究

潘浩1, 郑巍1,2, 张紫枫1, 芦超群1   

  1. 南昌航空大学软件学院 南昌3300631
    西安电子科技大学数学与统计学院 西安 7101262
  • 收稿日期:2018-08-07 出版日期:2019-02-25 发布日期:2019-02-25
  • 通讯作者: 郑 巍(1982-),男,博士,副教授,硕士生导师,主要研究方向为复杂网络、网络优化、软件工程、移动社交网络,E-mail:zhengwei_nchu@126.com
  • 作者简介:潘 浩(1993-),男,硕士生,主要研究方向为软件工程、复杂网络,E-mail:hetto0224@outlook.com;张紫枫(1995-),女,硕士生,主要研究方向为软件工程、复杂网络;芦超群(1997-),男,主要研究方向为软件工程、复杂网络。
  • 基金资助:
    本文受国家自然科学基金项目(61501217,61762065)资助。

Study on Fractal Features of Software Networks

PAN Hao1, ZHENG Wei1,2, ZHANG Zi-feng1, LU Chao-qun1   

  1. School of Software,Nanchang Hangkong University,Nanchang 330063,China1
    School of Mathematics and Statistics,Xidian University,Xi’an 710126,China2
  • Received:2018-08-07 Online:2019-02-25 Published:2019-02-25

摘要: 随着互联网技术的发展,软件系统的规模也在日益扩大,软件功能的变化使得软件网络的结构呈现差异化。软件网络的分形结构体现出软件网络整体和局部对象类之间依赖调用的自相似性,可以从代码层面上对软件系统结构以及功能进行分析。文中对软件网络分形结构特征进行研究:首先,综合类之间的依赖关系,对软件网络进行加权;然后利用基于网络中心性的盒子算法计算加权软件网络结构的分形维度,以分析其分形结构特征;最后,利用上述方法对spring和struts2这两款具有代表性的java软件框架进行分析。实验表明,这两款软件以及它们的子模块都具有分形结构特征,软件网络的分形维数随着模块功能复杂程度的增加而增加,功能综合性较强的软件网络分形维数要大于功能专一的软件网络;并且在版本演化过程中,软件网络的分形维数随着软件功能的丰富也呈现上升的趋势。

关键词: 分形, 软件网络, 软件系统结构, 软件演化

Abstract: With the development of the Internet technology,the scale of software architecture is growing beyond the requirements,and the software function changes the structure of software network.The fractal structure of the software network reflects the self-similarity of the modules and the whole software network,and can analyze the architecture of software from the code level.This paper researched the fractal characteristic of software networks.First,the software networks are weighted by the complex relationships between the classes.Further more,a network centrality based box algorithm is utilized to calculate the fractal dimension of the software network.At last,two representative software of spring and struts2 are analyzed through experiments,and the results show that the both two framework and their mo-dules have fractal features and the fractal dimension of the software network increases with the complexity of the mo-dule.The fractal dimension of the software network with more comprehensive functions is bigger than that of the software network with special functions.Also the fractal dimension increases with the evolution of the software version in which the software function is gradually improved.

Key words: Architecture of software, Fractal, Software evolution, Software network

中图分类号: 

  • TP311.5
[1]WILFREDO T.Software Fault Tolerance:A Tutorial[J].Pomales,2000,1(2):220-232.
[2]BRIAND L C,DALY J W,WÜST J.A Unified Framework for Cohesion Measurement in Object-Oriented Systems[J].IEEE Transactions on Software Engineering,2002,25(1):91-121.
[3]MYERS C R.Software systems as complex networks:structure,function,and evolvability of software collaboration graphs[J].Physical Review E Statistical Nonlinear & Soft Matter Physics,2003,68(2):046116.
[4]DONG Y,QI G N.The scale-free feature and evolving model of largescale software systems[J].Acta Physica Sinica,2006,55(8):3799-3804.(in Chinese)
闫栋,祁国宁.大规模软件系统的无标度特性与演化模型[J].物理学报,2006,55(8):3799-3804.
[5]HAN M C,LI D Y,LIU C Y.Networked characteristics in software and its contribution to software quality[J].Computer Engineering & Applications,2006,42(20):29-32.
[6]MA Y T,HE K Q,LI B,et al.Empirical Study on the Characteristics of Complex Networks in Networked Software[J].Journal of Software,2011,22(3):381-407.
[7]GAO Y,PENG Y,XIE F,et al.Software Metrics for complex networks[J].Journal of Tsinghua University(Science and Technology),2012,52(10):1474-1481.(in Chinese)
高洋,彭勇,谢丰,等.基于复杂网络的软件结构度量[J].清华大学学报(自然科学版),2012,52(10):1474-1481.
[8]CHONG C Y,LEE S P.Analyzing maintainability and reliability of object-oriented software using weighted complex network[J].Journal of Systems & Software,2015,110(C):28-53.
[9]WANG B Y,LV J H.Software Networks Nodes Impact Analysis of Complext Software Systems[J].Journal of Software,2013,24(12):2814-2829.(in Chinese)
汪北阳,吕金虎.复杂软件系统的软件网络结点影响分析[J].软件学报,2013,24(12):2814-2829.
[10]KUANG L,ZHENG B J,LI D Y,et al.A fractal and scale-free model of complex networks with hub attraction behaviors[J].Science China Information Sciences,2015,58(1):1-10.
[11]CONCAS G,LOCCI M F,MARCHESI M,et al.Fractal dimension in software networks[J].Europhysics Letters,2006,76(6):1221-1227.
[12]CONCAS G,MARCHESI M,MURGIA A,et al.Assessing traditional and new metrics for object-oriented systems[C]∥Proceedings of the 2010 ICSE Workshop on Emerging Trends in Software Metrics.ACM,2010:24-31.
[13]TURNU I,CONCAS G,MARCHESI M,et al.The fractal dimension of software networks as a global quality metric[J].Information Sciences,2013,245(10):290-303.
[14]CHIDAMBER S R,KEMERER C F.A metrics suite for object oriented design[J].IEEE Transactions on SoftwareEnginee-ring,1994,20(11):197-211.
[1] 张久杰, 陈超, 聂宏轩, 夏玉芹, 张丽萍, 马占飞.
基于类粒度的克隆代码群稳定性实证研究
Empirical Study on Stability of Clone Code Sets Based on Class Granularity
计算机科学, 2021, 48(5): 75-85. https://doi.org/10.11896/jsjkx.200900062
[2] 刘胜久, 李天瑞, 谢鹏, 刘佳.
带权图的多重分形度量
Measure for Multi-fractals of Weighted Graphs
计算机科学, 2021, 48(3): 136-143. https://doi.org/10.11896/jsjkx.200700159
[3] 王继文, 吴毅坚, 彭鑫.
基于演化和语义特征的上帝类检测方法
Approach of God Class Detection Based on Evolutionary and Semantic Features
计算机科学, 2021, 48(12): 59-66. https://doi.org/10.11896/jsjkx.210100077
[4] 张健雄, 宋坤, 何鹏, 李兵.
基于图神经网络的软件系统中关键类的识别
Identification of Key Classes in Software Systems Based on Graph Neural Networks
计算机科学, 2021, 48(12): 149-158. https://doi.org/10.11896/jsjkx.210100200
[5] 何鹏, 喻绿君.
面向群体协作开发的开源软件峭壁分析
Analysis of Open Source Software Cliff Walls for Group Collaborative Development
计算机科学, 2020, 47(6): 51-58. https://doi.org/10.11896/jsjkx.190300140
[6] 张静宣, 江贺.
代码标识符归一化研究现状及发展趋势
Research Status and Development Trend of Identifier Normalization
计算机科学, 2020, 47(3): 1-4. https://doi.org/10.11896/jsjkx.200200009
[7] 钟林辉, 扶丽娟, 叶海涛, 齐杰, 徐静.
软件演化历史的逆向工程生成方法研究
Study on Reverse Engineering Generation Method of Software Evolution History
计算机科学, 2020, 47(11A): 549-556. https://doi.org/10.11896/jsjkx.200200067
[8] 张晶晶, 张爱华, 纪海峰.
基于小波与分形相结合的图像压缩编码
Image Compression Encoding Based on Wavelet Transform and Fractal
计算机科学, 2019, 46(8): 310-314. https://doi.org/10.11896/j.issn.1002-137X.2019.08.051
[9] 刘胜久, 李天瑞, 刘小伟.
网络维数:一种度量复杂网络的新方法
Network Dimension:A New Measure for Complex Networks
计算机科学, 2019, 46(1): 51-56. https://doi.org/10.11896/j.issn.1002-137X.2019.01.008
[10] 唐倩文, 陈良育.
基于复杂网络理论的Java开源系统演化分析
Analysis of Java Open Source System Evolution Based on Complex Network Theory
计算机科学, 2018, 45(8): 166-173. https://doi.org/10.11896/j.issn.1002-137X.2018.08.030
[11] 李佳星,赵书良,安磊,李长镜.
基于分形理论的多尺度分类尺度上推算法
Scaling-up Algorithm of Multi-scale Classification Based on Fractal Theory
计算机科学, 2018, 45(6A): 453-459.
[12] 刘甜甜,包芳勋,张云峰,范清兰,杨晓梅.
有理分形曲面造型及其在图像超分辨中的应用
Rational Fractal Surface Modeling and Its Application in Image Super-resolution
计算机科学, 2018, 45(3): 35-45. https://doi.org/10.11896/j.issn.1002-137X.2018.03.006
[13] 郑交交, 李彤, 林英, 谢仲文, 王晓芳, 成蕾, 刘妙.
构件系统演化一致性的判定方法
Judgement Method of Evolution Consistency of Component System
计算机科学, 2018, 45(10): 189-195. https://doi.org/10.11896/j.issn.1002-137X.2018.10.035
[14] 赵会群,黄榆涵.
软件模型代数性质的程序化验证
Program Verification of Software Model’s Algebraic Properties
计算机科学, 2017, 44(11): 240-245. https://doi.org/10.11896/j.issn.1002-137X.2017.11.036
[15] 李文莉,高宏伟,冀大雄,李岩.
基于遗传算法的海底沉积物纹理特征优化方法
Optimization Method of Seabed Sediment Texture Feature Based on Genetic Algorithm
计算机科学, 2016, 43(Z6): 130-133. https://doi.org/10.11896/j.issn.1002-137X.2016.6A.031
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!