Skip to main content
QUICK REVIEW

[論文レビュー] Why Software Projects need Heroes (Lessons Learned from 1000+ Projects)

Suvodeep Majumder, Joymallya Chakraborty|arXiv (Cornell University)|Apr 22, 2019
Software Engineering Research被引用数 6
ひとこと要約

本研究では、GitHub上にホスティングされた1,100件以上のオープンソースプロジェクトを分析し、『ヒーロー』開発者(全コードの80%以上を寄与する者)の役割を調査した。その結果、他の貢献者と比較して、ヒーロー開発者は著しく少ないバグを生み出していることが判明した。ボトルネックの懸念とは対照的に、ヒーロー開発者は一般的であり、コード品質向上に寄与していることが示され、それらがソフトウェアプロジェクトにおいて問題であるという考えを覆すものとなった。

ABSTRACT

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.

研究の動機と目的

  • オープンソースソフトウェアプロジェクトにおける『ヒーロー』開発者の存在頻度と影響を調査すること。
  • ヒーロー開発者がバグ密度という観点から、コード品質に高い水準をもたらすか、低い水準をもたらすかを評価すること。
  • ヒーロー開発者が潜在的なボトルネックを引き起こす可能性があるとして、それらが問題視されるという現在の文献の主張に反論すること。
  • 特に大規模なオープンソースエコシステムにおいて、ヒーロー開発者の果たす役割について、実証的証拠を提供すること。

提案手法

  • 本研究では、GitHub上にホスティングされた1,100件以上のオープンソースプロジェクトを分析し、80%以上もコミットを占める貢献者を特定した。
  • 貢献者の貢献度分布を用いて、開発者を『ヒーロー』(上位20%の貢献者)と『非ヒーロー』(残りの80%の貢献者)に分類した。
  • バグ密度は、ヒーロー開発者と非ヒーロー開発者のコミットごとに、1,000行のコードあたりに導入されたバグの数を数えることで測定した。
  • 統計的分析により、プロジェクト全体を通じて、ヒーロー開発者と非ヒーロー開発者の1,000行あたりの平均バグ数を比較した。

実験結果

リサーチクエスチョン

  • RQ1オープンソースソフトウェアプロジェクトにおいて、ヒーロー開発者はどの程度一般的に存在するか?
  • RQ2ヒーロー開発者は非ヒーロー貢献者と比較して、より少ないバグを導入するか?
  • RQ3ヒーロー開発者の存在は、コード品質の向上と関連しているか?
  • RQ4ヒーロー開発者への依存によるリスクが、コード品質の観点からその利点を上回るのか?

主な発見

  • 80%以上をコード寄与する者として定義されるヒーロー開発者は、分析対象の大部分のオープンソースプロジェクトに存在している。
  • ヒーロー開発者は、非ヒーロー貢献者と比較して、1,000行あたりのバグ数が著しく少ない。
  • ヒーロー開発者のコミットにおける平均バグ密度は、非ヒーローと比較して著しく低く、これは高いコード品質を示している。
  • 本研究では、ヒーロー開発者がコード品質を低下させたり、プロジェクトのリスクを高めたりする証拠は得られず、文献に一般的に見られる仮定とは対照的であった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。