电子学报 ›› 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 发布日期: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

摘要: 软件系统是一类典型的人工参与的复杂系统,理解软件系统的演化规律有助于更好地指导软件工程实践.本文从包、类和特征三个粒度上构建软件系统的网络模型,利用复杂网络理论依次从网络规模、质量、结构控制三方面定量分析软件系统演化规律.以经典的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

中图分类号: