摘要
软件系统是一种典型类型人造复杂系统。理解他们的进化能导致更好的软件工程惯例。在这份报纸,作者把复杂网络理论用作一个工具分析进化面向对象(OO ) 从一个 multigranularity 观点的软件。首先,网络建模的一个多颗粒度软件被建议从颗粒度的三个层次代表一个多版本软件系统的拓扑的结构。然后,广泛地在复杂网络理论使用的一些参数被使用描绘软件网络。由在连续软件系统跟踪参数值,我们关于软件进化有更好的理解。案例研究在一个开放源代码 OO 工程上被进行, Azureus 当说明我们的途径的一个例子,和位于进化特征下面的一些被揭开。这些结果提供一种不同尺寸给我们软件进化并且也的理解为 OO 软件系统的设计和发展是很有用的。
Software systems are a typical kind of man-made complex systems. Understanding their evolutions can lead to better software engineering practices. In this paper, the authors use complex network theory as a tool to analyze the evolution of object-oriented (OO) software from a multi-granularity perspective. First, a multi-granularity software networks model is proposed to represent the topological structures of a multi-version software system from three levels of granularity. Then, some parameters widely used in complex network theory are applied to characterize the software networks. By tracing the parameters' values in consecutive software systems, we have a better understanding about software evolution. A case study is conducted on an open source OO project, Azureus, as an example to illustrate our approach, and some underlying evolution characteristics are uncovered. These results provide a different dimension to our understanding of software evolutions and also are very useful for the design and development of OO software systems.
基金
This research is supported by the National Basic Research 973 Program of China under Grant No 2007CB310801, the National Natural Science Foundation of China under Grant Nos. 60873083 and 61003073 the Research Fund for the Doctoral Program of Higher Education of China under Grant No. 20090141120022 the Fundamental Research Funds for the Central Universities of China under Grant Nos. 114013 and 6082005 and the Scientific Research Fund of Zhejiang Provincial Education Department under Grant No. Y201018008.