[论文解读] Why Software Projects need Heroes (Lessons Learned from 1000+ Projects)
本研究分析了1,100多个托管在GitHub上的开源项目,以探究‘英雄’开发者(贡献代码量占80%以上的开发者)的作用,发现其引入的错误显著少于其他贡献者。与对瓶颈问题的担忧相反,英雄开发者在项目中普遍存在且有益于代码质量,挑战了其在软件项目中存在问题的观念。
A project is one where 80% or more of the contributions are made by the 20% of the developers. In the literature, such projects are deprecated since they might cause bottlenecks in development and communication. However, there is little empirical evidence on this matter. Further, recent studies show that such projects are very prevalent. Accordingly, this paper explores the effect of having heroes in project, from a code quality perspective. We identify the heroes developer communities in 1100+ open source GitHub projects. Based on the analysis, we find that (a) projects are majorly all projects; and (b) the commits from hero developers (who contribute most to the code) result in far fewer bugs than other developers. That is, contrary to the literature, heroes are standard and very useful part of modern open source projects.
研究动机与目标
- 调查‘英雄’开发者在开源软件项目中的普遍性及其影响。
- 评估英雄开发者是否导致更高或更低的代码质量,特别是从错误密度角度。
- 挑战现有文献中认为英雄开发者因潜在瓶颈而存在问题的观点。
- 为现代软件开发中英雄开发者的作用提供实证证据,尤其是在大规模开源生态系统中。
提出的方法
- 本研究分析了1,100多个托管在GitHub上的开源项目,以识别贡献代码量占80%或以上的贡献者。
- 通过贡献度分布将开发者分类为‘英雄’(前20%贡献者)或‘非英雄’(其余80%的贡献者)。
- 通过统计英雄开发者与非英雄开发者提交的代码中每千行代码引入的错误数量来衡量错误密度。
- 通过统计分析比较了在所有项目中,英雄与非英雄开发者每千行代码的平均错误数量。
实验结果
研究问题
- RQ1英雄开发者在开源软件项目中有多普遍?
- RQ2与非英雄贡献者相比,英雄开发者是否引入更少的错误?
- RQ3英雄开发者的存在是否与代码质量提升相关?
- RQ4在代码质量方面,对英雄开发者的依赖风险是否超过其带来的益处?
主要发现
- 定义为贡献代码量占80%或以上的英雄开发者,在所分析的绝大多数开源项目中均存在。
- 与非英雄贡献者相比,英雄开发者每千行代码引入的错误显著更少。
- 英雄开发者提交代码的平均错误密度明显低于非英雄开发者,表明其代码质量更高。
- 本研究未发现英雄开发者会降低代码质量或增加项目风险的证据,与文献中的普遍假设相矛盾。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。