舎路(シアトル)日記

シアトルで働く日本人プログラマの日記です。

Code Ownership and Software Quality: A Replication Study を読んだ。マイクロソフトのコードベースを対象に、オーナーシップと品質との相関を調べた論文。先行する研究として

の二つがあり、この論文はそれらをうけて、1) マイクロソフトのコードベースを対象に 2) バイナリよりも小さい粒度 (ファイルやディレクトリ) で、その相関を調べている。結論からいうと、オーナーシップと品質にはやっぱり負の相関があったらしい。

ソフトウェアないしコンポーネントのオーナーシップというのは、ひとえには決めづらい。論文では

  • ownership: もっともコミットした数が多い人が、全コミットのうちに占める割合
  • minors: コミット数が50%未満の人の数
  • minimals: コミット数が20%未満の人の数
  • contributors: コミットした人の数
  • avgownership: ownership のディレクトリごとの平均
  • manager3: コミットした人々のユニークな Level 3 マネージャーの数

などなど色々なメトリクスでもって、なんとかオーナーシップの強さ、というのを求めて、それとファイルやディレクトリごとのバグの数とを比較するべく、ランク相関 (Spearman 相関) を求めている。ちなみに Level 3 というのは

For Microsoft, we can infer that managers represent at level 3 company divisions, at level 4 broader product teams, and at level 5 smaller sub teams within product teams.

部長、くらいのところなんでしょうか。

企業からの論文で、かつバグについての話だというのに、Office, Office 365, Exchange, Windows なんてフラッグシップな製品について実名をあげて論じて、さらに

With Office, we could see that there are two types of weak ownerships: intentional weak ownership, which was due to the aforementioned reasons, and unintentional ownership.

こういう不都合なこともちゃんと書くのは、なかなかえらいなあと思う。