中文

RubyGems与npm软件生态系统中开发者留存率的实证比较

软件工程 2017-10-16 v1

摘要

软件生态系统可以被视为由维护技术组件的社会组件(开发者社区)和技术组件(软件包)组成的社会-技术网络。生态系统随着时间的推移通过社会-技术变化而演化,这些变化可能会对生态系统的可持续性产生重大影响。诸如开发者流失等社会变化可能导致技术退化。这促使我们需要识别导致开发者放弃的因素,以便自动化识别具有高放弃风险的开发者的过程。本文比较了两个软件包生态系统RubyGems和npm的这些因素。我们分析了它们托管在GitHub上的包的演化,考虑了以commits衡量的开发活动,以及以与commits、issues或pull requests相关的comments衡量的与其他开发者的社会互动。我们分别分析了RubyGems和npm中超过3万名和6万名开发者的这种社会-技术活动。我们使用生存分析来识别哪些因素与较低的生存概率相吻合。我们的结果显示,放弃生态系统概率较高的开发者:不与其他开发者进行讨论;没有强烈的社会和技术活动强度;沟通或提交频率较低;并且不长期参与技术和社会活动。这些观察结果可用于自动化识别具有高概率放弃生态系统的开发者,从而降低与知识流失相关的风险。

关键词

引用

@article{arxiv.1708.02618,
  title  = {An Empirical Comparison of Developer Retention in the RubyGems and npm Software Ecosystems},
  author = {Eleni Constantinou and Tom Mens},
  journal= {arXiv preprint arXiv:1708.02618},
  year   = {2017}
}

备注

This paper is a preprint of a paper that has been accepted for publication in the Springer's journal Innovations in Systems and Software Engineering