摘要
软件系统日趋大型化和复杂化使得软件系统的结构可以用复杂网络来表示,研究表明,大规模软件系统结构表现出复杂网络的各项特征如小世界效应和无标度特性等,复杂网络成为理解软件系统结构和演化的重要方法之一.本文定义了一种针对Java程序的网络拓扑图,为JDK构造复杂网络,并统计其度分布标度指数、平均距离、平均簇系数等网络特征.同时研究这些特征随JDK版本的变化,提出了一个基于模块的演化模型,并对JDK的版本演化进行模拟.实验结果表明JDK具有复杂网络的各项特征,是一个复杂网络,并且与一般复杂网络的演化模型不同,其演化模型具有软件系统的特征——模块化,能与软件系统演化的实际相符合.
Software systems become larger and wore complex,and their structures usually show the features of complex networks such as small-world effect and scale-fire nature.In this paper, we researched on code architecture and evolution of JDK by employing the theory of complex networks.First, we define a topological graph for Java program, and construct complex networks for JDK. Through calculating their graph characteristics such as the scaling exponent of degree distribution, the average path length and the average clustering coefficient, we find that the features of complex networks exist in JDK. Second, we put forward a module- based evolution model, and use it to simulate the updates of JDK versions. The results show that our model can describe the updates of JDK versions effectively.
出处
《电子学报》
EI
CAS
CSCD
北大核心
2007年第B12期118-123,共6页
Acta Electronica Sinica
基金
国家863高技术研究发展计划(No.2006AA012177)
江苏省自然科学基金(No.BK2006115)
关键词
复杂网络
软件系统
模块化
软件演化
complex networks
software systems
modularization
software evolution