摘要
从包、类和方法3个粒度构建软件元素的网络模型。利用经典的网络表征学习方法Node2vec学习节点特征,并从网络距离、增长特性、更新率、模块度等方面对3个开源软件系统进行演化分析。试验结果表明:3种粒度下的演化特性不尽相同,包粒度下的演化更加稳定且高效;相比先前研究,本研究方法得到的软件演化特性与Lehman定律更契合;当软件系统迭代累计到最大阈值时其体系架构将重新部署,此时软件系统的鲁棒性最差且易产生峭壁。
This research constructed the network model of software elements from package,class,and function granularity.The classical network characterization learning method Node2vec was used to learn node features,and the evolution of three open source software systems was analyzed from the aspects of network distance,growth characteristics,update rate,and modularity.The experimental results showed that:the evolution characteristics of the three particle sizes were different,and the evolution of the package size was more stable and efficient;compared with previous studies,the software evolution characteristics obtained by this method were more consistent with Lehman's law;when the software system iteration accumulated to the maximum threshold,the architecture was redeployed.
作者
邓文涛
章梦怡
何鹏
曾张帆
李兵
DENG Wentao;ZHANG Mengyi;HE Peng;ZENG Zhangfan;LI Bing(School of Computer Science and Information Engineering,Hubei University,Wuhan 430062,Hubei,China;School of Computer Science,Wuhan University,Wuhan 430072,Hubei,China)
出处
《山东大学学报(工学版)》
CAS
CSCD
北大核心
2023年第2期77-86,共10页
Journal of Shandong University(Engineering Science)
基金
国家自然科学基金资助项目(61572371)
国家重点研发计划(2017YFB1400602)
湖北省技术创新重大专项(2018ACA13)
湖北省教育厅青年人才项目(Q20171008)。
关键词
软件系统
软件网络
网络嵌入
表征学习
软件演化
software system
software network
network embedding
representational learning
software evolution