您的位置:山东大学 -> 科技期刊社 -> 《山东大学学报(工学版)》

山东大学学报 (工学版) ›› 2023, Vol. 53 ›› Issue (2): 77-86.doi: 10.6040/j.issn.1672-3961.0.2022.342

• • 上一篇    下一篇

基于网络表征学习的软件系统演化分析

邓文涛1,章梦怡1,何鹏1*,曾张帆1,李兵2   

  1. 1.湖北大学计算机与信息工程学院, 湖北 武汉 430062;2.武汉大学计算机学院, 湖北 武汉 430072
  • 收稿日期:2022-10-12 出版日期:2023-04-22 发布日期:2023-04-21
  • 作者简介:邓文涛(1998— ),男,湖北孝感人,硕士研究生,主要研究方向为软件工程、复杂网络. E-mail:endadeng@stu.hubu.edu.cn. *通信作者简介:何鹏(1988— ),男,江西宜春人,副教授, 主要研究方向为软件工程、复杂网络. E-mail:penghe@hubu.edu.cn
  • 基金资助:
    国家自然科学基金资助项目(61572371);国家重点研发计划(2017YFB1400602);湖北省技术创新重大专项(2018ACA13);湖北省教育厅青年人才项目(Q20171008)

Software system evolution analysis based on network representation learning

DENG Wentao1, ZHANG Mengyi1, HE Peng1*, ZENG Zhangfan1, LI Bing2   

  1. 1. School of Computer Science and Information Engineering, Hubei University, Wuhan 430062, Hubei, China;
    2. School of Computer Science, Wuhan University, Wuhan 430072, Hubei, China
  • Received:2022-10-12 Online:2023-04-22 Published:2023-04-21

摘要: 从包、类和方法3个粒度构建软件元素的网络模型。利用经典的网络表征学习方法Node2vec学习节点特征,并从网络距离、增长特性、更新率、模块度等方面对3个开源软件系统进行演化分析。试验结果表明:3种粒度下的演化特性不尽相同,包粒度下的演化更加稳定且高效;相比先前研究,本研究方法得到的软件演化特性与Lehman定律更契合;当软件系统迭代累计到最大阈值时其体系架构将重新部署,此时软件系统的鲁棒性最差且易产生峭壁。

关键词: 软件系统, 软件网络, 网络嵌入, 表征学习, 软件演化

中图分类号: 

  • TP242.6
[1] HASSELBRING W. Software architecture: past, present, future[J]. The Essence of Software Engineering, 2018: 169-184.
[2] DIJKSTRA E W. The structure of the “THE”-multiprogramming system[J]. Communications of the ACM, 1968, 11(5): 341-346.
[3] REICHELT D G, KUHNE S. How to detect performance changes in software history: performance analysis of software system versions[C] //Companion of the 2018 ACM/SPEC International Conference on Performance Engineering. Berlin, Germany: ACM, 2018: 183-188.
[4] BENNETT K. Software evolution: past, present and future[J]. Information & Software Technology, 1996, 38(11):673-680.
[5] LEHMAN M M, RAMIL J F, WERNICK P D, et al. Metrics and laws of software evolution-the nineties view[C] //Proceedings Fourth International Software Metrics Symposium. Albuquerque, NM, USA: IEEE, 1997: 20-32.
[6] 顾庆,陈道蓄. 基于软件网络的软件系统演化规律验证和模拟[J]. 中国科学: 信息科学, 2014(1): 20-36. GU Qing, CHEN Daoxu. Verification and simulation of software system evolution law based on software network[J]. Chinese Science: Information Science, 2014(1): 20-36.
[7] LU J, YU X, CHEN G, et al. Characterizing the synchronizability of small-world dynamical networks[J]. IEEE Transactions on Circuits & Systems I Regular Papers, 2004, 51(4):787-796.
[8] ZHOU J, LU J A, LU J H. Adaptive synchronization of an uncertain complex dynamical network[J]. IEEE Transactions on Automatic Control, 2006, 51(4): 652-656.
[9] HYLAND-WOOD D, CARRINGTON D, KAPLAN S. Scale-free nature of Java software package, class and method collaboration graphs[C] //Proceedings of the 5th International Symposium on Empirical Software Engineering. Rio de Janeiro, Brazil: ACM, 2006: 9-16.
[10] ZHOU T, BAI W J, WANG B H, et al. A brief review of complex networks[J]. Physics, 2005, 34(1): 31-36.
[11] DELELLIS P, DI BERNARDO M, GOROCHOWSKI T E, et al. Synchronization and control of complex networks via contraction, adaptation and evolution[J]. IEEE Circuits and Systems Magazine, 2010, 10(3): 64-82.
[12] CHEN P Y, CHEN K C. Information epidemics in complex networks with opportunistic links and dynamic topology[C] //2010 IEEE Global Telecommunications Conference GLOBECOM 2010. Miami, USA: IEEE, 2010: 1-6.
[13] LI G, XUAN Q, SONG Z, et al. Complex supply networks evolving model:complex networks perspective[C] //2010 IEEE International Conference on Intelligent Systems and Knowledge Engineering. Hangzhou, China: IEEE, 2010: 511-516.
[14] AMBROSE J A, PEDDERSEN J, PARAMESWARAN S, et al. SDG2KPN:system dependency graph to function-level KPN generation of legacy code for MPSoCs[C] //2014 19th Asia and South Pacific Design Automation Conference(ASP-DAC). Singapore: IEEE, 2014: 267-273.
[15] JENKINS S, KIRK S R. Software architecture graphs as complex networks:a novel partitioning scheme to measure stability and evolution[J]. Information Sciences, 2007, 177(12): 2587-2601.
[16] 李辉. 软件网络理论:形成机制分析与建模[D].沈阳:东北大学,2013. LI Hui. Software network theory: formation mechanism analysis and modeling[D]. Shengyang: Northeastern University, 2013.
[17] REN J, WW H, YIN T, et al. A novel approach for mining important nodes in directed-weighted complex software network[J]. Journal of Computational Information Systems, 2015, 11(8):3059-3071.
[18] TANG C, LU M, KONG S. An identification method for critical nodes of fault propagation based on software dynamic execution network[C] //2019 IEEE 10th International Conference on Software Engineering and Service Science(ICSESS). Beijing, China: IEEE, 2019: 249-255.
[19] MYERS C R. Software systems as complex networks: structure, function, and evolvability of software collaboration graphs[J]. Physical Review E, 2003, 68(4): 046116.
[20] 郁湧,李彤,王炜,等. 基于 Petri 网的软件演化过程[J]. 计算机应用与软件, 2008, 25(10): 46-48. YU Yong, LI Tong, WANG Wei, et al. Software evolution process based on Petri nets[J]. Computer Applications and Software, 2008, 25(10): 46-48.
[21] 何成万,张立军,张慧.基于元数据和反射的面向方面软件演化方法[J].电子学报,2011,39(8):1771-1777. HE Chengwan, ZHANG Lijun, ZHANG Hui. Aspect-oriented software evolution method based on metadata and reflection[J]. Journal of Electronics, 2011, 39(8): 1771-1777.
[22] YING A T T, MURPHY G C, NG R, et al. Predicting source code changes by mining change history[J]. IEEE Transactions on Software Engineering, 2004, 30(9): 574-586.
[23] 芦俊佳,刘敏昆.一种基于过程构件的软件演化过程设计方法[J].计算机应用与软件,2012,29(1):178-180. LU Junjia, LIU Minkun. A process design method for software evolution based on process components[J]. Computer Application and Software, 2012, 29(1): 178-180.
[24] JENKINS S, KIRK S R. Software architecture graphs as complex networks: a novel partitioning scheme to measure stability and evolution[J]. Information Sciences, 2007, 177(12): 2587-2601.
[25] 何鹏, 王鹏, 李兵, 等. 基于多粒度软件网络模型的软件系统演化分析[J]. 电子学报, 2018, 46(2): 257-267. HE Peng, WANG Peng, LI Bing, et al. Software system evolution analysis based on multi-granularity software network model [J]. Journal of Electronics, 2018, 46(2): 257-267.
[26] KARGAR M, ISAZADEH A, IZADKHAH H. New internal metric for software clustering algorithms validity[J]. IET Software, 2020, 14(4): 402-410.
[27] GRABUSTS P. Distance metrics selection validity in cluster analysis[J]. Computer Science, 2011, 49: 72-77.
[28] 李兵,马于涛,刘婧,等. 软件系统的复杂网络研究进展[J]. 力学进展,2008,38(6): 805-814. LI Bing, MA Yutao, LIU Jing, et al. Research progress on complex networks of software systems[J]. Advances in Mechanics, 2008, 38(6): 805-814.
[29] GROVER A, LESKOVEC J. Node2vec: scalable feature learning for networks[C] //Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. San Francisco, USA: ACM, 2016: 855-864.
[30] ISRAELI A, FEITELSON D G. Thelinux kernel as a case study in software evolution[J]. Journal of Systems and Software, 2010, 83(3): 485-501.
[31] WANG L, WANG Z, YANG C, et al. Linux kernels as complex networks: a novel method to study evolution[C] //2009 IEEE International Conference on Software Maintenance. Edmonton, Canada: IEEE, 2009: 41-50.
[1] 胡军,杨冬梅,刘立,钟福金. 融合节点状态信息的跨社交网络用户对齐[J]. 山东大学学报 (工学版), 2021, 51(6): 49-58.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
[1] 杨国辉1,孙晓瑜1,2,椿范立1. 应用沸石胶囊催化剂制备生物汽油(英文)[J]. 山东大学学报(工学版), 2009, 39(2): 92 -97 .
[2] 赵伟,艾洪奇. pH对Aβ42小纤维的结构影响[J]. 山东大学学报(工学版), 2018, 48(2): 134 -138 .
[3] 钟倩倩,岳钦艳*,李倩,李颖,许醒,高宝玉. 改性麦草秸秆对活性艳红的吸附动力学研究[J]. 山东大学学报(工学版), 2011, 41(1): 133 -139 .
[4] 吉兴全,韩国正,李可军,傅荣荣,朱仰贺. 基于密度的改进K均值聚类算法在配网区块划分中的应用[J]. 山东大学学报(工学版), 2016, 46(4): 41 -46 .
[5] 徐振,李德明,王彬,詹谷益,张世杰. 硬岩隧道纯钢纤维混凝土管片应用[J]. 山东大学学报 (工学版), 2020, 50(5): 44 -49 .
[6] 闫睿一,董震,鲁森,赖艳华,吕明新. 通风柜下侧挡板和导流板对流场的影响分析[J]. 山东大学学报 (工学版), 2021, 51(5): 122 -130 .
[7] 何东之, 张吉沣, 赵鹏飞. 不确定性传播算法的MapReduce并行化实现[J]. 山东大学学报(工学版), 0, (): 22 -28 .
[8] 刘云,邱晓国 . 内插TOC系数法测定水体中COD研究[J]. 山东大学学报(工学版), 2007, 37(4): 108 -117 .
[9] 顿月芹 闵越 袁建生. 阵列侧向测井正演响应的特性分析[J]. 山东大学学报(工学版), 2010, 40(1): 121 -125 .
[10] 薛占熬,李永祥,姚守倩,荆萌萌. 基于Bayesian直觉模糊粗糙集的数据分类方法[J]. 山东大学学报 (工学版), 2022, 57(5): 1 -10 .