电子学报 ›› 2018, Vol. 46 ›› Issue (2): 257-267.DOI: 10.3969/j.issn.0372-2112.2018.02.001

• 学术论文 •    下一篇

基于多粒度软件网络模型的软件系统演化分析

何鹏1, 王鹏1, 李兵2, 胡思文2   

  1. 1. 湖北大学计算机与信息工程学院, 湖北武汉 430062;
    2. 武汉大学国际软件学院, 湖北武汉 430079
  • 收稿日期:2016-10-24 修回日期:2016-12-26 出版日期:2018-02-25
    • 作者简介:
    • 何鹏,男,1988年生于江西宜春.湖北大学计算机与信息工程学院讲师.研究方向为软件工程、复杂网络.E-mail:pegnhe@hubu.edu.cn;王鹏,男,1997年生于湖北武汉.湖北大学计算机与信息工程学院本科生.研究方向为软件工程、复杂网络.E-mail:657511017@qq.com
    • 基金资助:
    • 国家973重点基础研究计划 (No.2014CB34040); 国家自然科学基金 (No.61572371); 湖北省知识创新专项 (No.2016CFB309)

An Evolution Analysis of Software System Based on Multi-granularity Software Network

HE Peng1, WANG Peng1, LI Bing2, HU Si-wen2   

  1. 1. School of Computer Science and Information Engineering, Hubei University, Wuhan, Hubei 430062, China;
    2. International School of Software, Wuhan University, Wuhan, Hubei 430079, China
  • Received:2016-10-24 Revised:2016-12-26 Online:2018-02-25 Published:2018-02-25
    • Supported by:
    • National Program on Key Basic Research Project of China  (973 Program) (No.2014CB34040); National Natural Science Foundation of China (No.61572371); Knowledge Innovation Project of Wuhan Science and Technology Bureau,  Hubei Province (No.2016CFB309)

摘要: 软件系统是一类典型的人工参与的复杂系统,理解软件系统的演化规律有助于更好地指导软件工程实践.本文从包、类和特征三个粒度上构建软件系统的网络模型,利用复杂网络理论依次从网络规模、质量、结构控制三方面定量分析软件系统演化规律.以经典的Lehman演化定律为基准,对比软件系统在不同粒度下的演化差异.研究结果表明:(1)不同粒度下软件系统表现出的演化特性有所不同,其中在类粒度下效果更好;(2)持续增长、持续变化、自我调节和主体维持四项定律表现出与构建软件网络的粒度无关;(3)包粒度下系统演化对软件质量影响不大,而反馈系统定律仅在类粒度下成立.

关键词: 软件演化, 软件网络, 复杂网络, 复杂系统

Abstract: Software as a man-made system is a typical complex system, understanding its evolution contributes to better software engineering practice. In this paper, we construct software network model from a multi-granularity perspective, namely the level of package, class and feature respectively. Then we analyze the evolutions of three open-source software systems in terms of network scale, quality and structure control indicators, using complex network theory. Finally, taking Lehman's evolution laws as the benchmarks, we compare the evolution of software networks based on multi-granularity. The results show that: (1) the evolution characteristics are varied under different granularity levels, and software network built in the level of class supports the most Lehman laws; (2) the laws of continuing growth, increasing complexity, self-regulation and conservation of familiarity are independent of the levels of granularity; (3) the impact of software evolution in the level of package on software quality is trivial, but feedback system is only supported in the case of class level.

Key words: software evolution, software network, complex networks, complex system

中图分类号: