ISSN 1000-1239 CN 11-1777/TP

计算机研究与发展 ›› 2020, Vol. 57 ›› Issue (3): 513-524.doi: 10.7544/issn1000-1239.2020.20190615

所属专题: 2020面向服务的群智化生态化软件开发方法专题

• 软件技术 • 上一篇    下一篇



  1. (上海交通大学电子信息与电气工程学院计算机系 上海 201100) (
  • 出版日期: 2020-03-01
  • 基金资助: 

The Evolution of Software Ecosystem in GitHub

Qi Qing, Cao Jian, Liu Yancen   

  1. (Department of Computer Science, School of Electronic Information and Electrical Engineering, Shanghai Jiao Tong University, Shanghai 201100)
  • Online: 2020-03-01
  • Supported by: 
    This work was supported by the National Key Research and Development Program of China (2018YFB1003800).

摘要: 大多数软件项目都是相互依赖的,因此对软件生态系统的分析吸引了许多研究人员的兴趣.近年来,除了分析一些著名的软件生态系统外,研究人员还对GitHub中的软件生态系统及其功能进行了研究.然而,GitHub中软件生态系统发展的基本过程以及其演化的原因尚未引起广泛关注,当前研究对GitHub中的软件生态系统演化进行了深入研究.首先基于动态社区发现方法检测GitHub中不断演化的生态系统,然后识别并比较GitHub中的不同演化事件.通过演化过程示意图直观地展示了从2015年到2018年长期存活的软件生态系统其演化过程.为了理解生态系统存活或消亡的原因,进行了多元线性回归分析,找出了与生态系统存活相关的重要因素.此外,提出了3个典型案例研究,以显示GitHub中软件生态系统的演化行为.

关键词: 软件生态系统, 交叉引用, 软件生态系统检测, 演化事件, 演化特征

Abstract: Most software projects evolve interdependently, hence the analysis of software ecosystem has attracted the interest of many researchers. In addition to analyzing some well-known software ecosystems, the software ecosystem in GitHub, together with their features, have also been investigated by researchers in recent years. Unfortunately, the fundamental process of the evolution of software ecosystem in GitHub has not received wide attention nor have the reasons why evolution occurs. In this paper, we conduct an in-depth study on software ecosystem evolution in GitHub. Firstly, we detect the evolving ecosystem in GitHub based on a dynamic community detection method. Then, different evolution events in GitHub are identified and compared. Specifically, we draw a graph to visually show the evolutionary processes of software ecosystem that survived from 2015 to 2018. To understand why an ecosystem survives or dissolves, we perform multiple linear regression analysis and find the important correlating factors of ecosystem survival. Furthermore, we present three case studies to show the typical evolution behaviors of software ecosystem in GitHub.

Key words: software ecosystem, cross-references, software ecosystem detection, evolution event, evolution factor