[[ヤマタニ]]

*タイトル [#e8723297]
-OSSシステムとコミュニティの共進化の理解を目的としたデータマイニング手法

*資料 [#s39e9677]
-&attachref()
-&attachref();

*査読結果:まとめ [#c722803d]

**第1査読者 [#uc9517fc]
***条件 [#nc539ea3]
-共進化のモデルを定量的に分析する手法として遅延相関分析が正しいのか?
-説明変数の変化量を累積値として表現するのはなぜか?
-本論文と先行研究の違いは探索的にマイニングしたことではないのか?
-提案手法と相関分析を比べるのではなく併用すると有用な分析ができるということではないのか?
-共進化の話をするのではなく探索的データ分析の話をしていく方がいいのではないか?

***コメント [#xcd07c53]
-共進化でいくにはメトリクスの計測に気を使うべき(プロジェクトの傾向を知るぐらいでいいのでは?)
-対象とするOSSの性質に触れるべき
-OSS開発の信頼性を評価しようとする研究はないのか?
-DICOMO論文でのメトリクスの決め方がおかしいのではないか?
-ソフトウェア開発データに外れ値を含む一例を挙げる
-ソフトウェア開発データは正規分布に従わない理由がほしい
-「出力することができる」の表現が気持ち悪い
-ソースコードの統計としファイル数ではなくステップ数の方がいいのでは?
-Platrom -> Platform
-131種類のの -> 131種類の
-表4.2.2が間違い
-表5にPriorityのどちらが高いのかを明示する方がいい
-有用性の意味づけについて再検討が必要
-類似したメトリクスをたくさん使わずに選択したら?


**第2査読者 [#lc6207a1]
***条件 [#t888101f]
-時間遅れ分析はほかにもあるが,なぜ,竹内の手法を使ったのか?のかを説明
-竹内の手法がなぜ加算×差分なのかを説明
-さまざまな遅延パターンに対応するべきだしできるのかについて説明
-差分係数も必要ではないか
-17030通りの算出方法を説明する
-図5でなぜ件数がそこまで減っているのか?についての説明
-削除した外れ値を補完するなどの表現に変えるべき
-分析対象件数が著しく減少することに対する影響の考察
-通常の相関分析がどのようなものなのかについての説明
-通常の相関分析でなぜ奇数の組合せ数が出るのか?についての説明
-和を変化量とするのはまずい,しかもその後は状態となっている
-変動率の定義がおかしい
-加算係数が1であるときは,2カ月続くのか?
-加算係数が12に集中しているのはなぜか?についての説明
-各パラメータの値域に関する説明
-3つの系統を混ぜて分析したことに対しての考察



*査読結果:全文 [#d47c4794]
**第1査読者 [#j90c6427]
***条件 [#wa238384]
本論分の分析の結果得られた知見と、本研究の当初の狙い 
である共進化モデルとの間には乖離があります。また、 
共進化モデル、あるいはOSSコミュニティ内の開発プロセスに 
対して提案手法である遅延相関分析が適する理由、先行研究に 
対する位置づけなどの議論展開に不十分な部分があります。 
それらの点を改善することによって採録に値するものになると 
考えます。 
 具体的には、以下の点を中心に議論構成を再検討してください。 

●2.2 OSS システムとコミュニティの共進化 

Yeらの共進化のモデルを定量的に分析する手法として、遅延 
相関分析が適していると考えられる理由を考察してください。 
一般論でかまいませんので、データマイニング領域に不案内な 
ものにも論理の流れが理解できるように、簡単に遅延相関 
分析が適すると考える理由に触れてください。 


●3.3.1 説明変数および目的変数の変化量の算出 

説明変数の変化量を、説明変数の値の累積値を求めることに 
よって表現するのは何故か、遅延相関分析に不案内なものにも 
提案手法の特徴を把握できるように、説明を加えてください。 


●4.1 目的 

先行研究[21]の制約をいくつかあげていますが、[21]は、 
Yeらの OSSの共進化モデルにもとづいた因果関係の仮説に 
基づいてパラメータの選択を行ったのであり、(2)および 
(3)は、制約というよりは仮説検証型の研究の特徴という 
べきだと思います。 
 したがって本論文と先行研究の違いは、本論文が Yeらの 
モデルのみに留まらず、広くパラメーター間の有意な関係 
(遅延相関)を探索的にマイニングし、より広い視野を 
もって検討した点にある、というべきではないでしょうか。 

 こういった点を念頭に先行研究に対する本論文の位置 
づけを再検討してください。 

●4.4 分析手順 

「通常の相関分析手法では抽出することのできなかった 
関係が,遅延相関分析に基づく提案手法で抽出することが 
できれば,提案手法の有用性を示すことができる.」 

 有用性の位置づけ方が単純すぎるように思います。 
4.5.1で述べられているように、本研究では実際のところ、 
通常の 相関分析で抽出できた 751件に比べて、提案手法 
では 171件しか抽出できず、また、提案手法のみで抽出 
できた 31件に比べて、通常の相関分析のみで抽出できた 
ものは 751 - (171-31) = 611件です。したがって、この 
有用性の位置づけ方では、通常の相関分析の方が 有用で 
あることになってしまいます。 

 論ずべきは、遅延相関分析と通常の相関分析の優劣では 
なく、遅延相関分析を併用することにより、通常の相関分析 
だけよりも、より有用性の高い分析が行えるといったこと 
ではないでしょうか。ただし、その場合は(2.2節への 
コメントで触れたように)、Yeらのモデルに対して遅延相関 
分析のみが適するのか、通常の相関分析も適するのかどうか 
も問題になりますので、あわせて検討してください。 

 この点を念頭に、提案手法の有用性の位置づけを再検討 
してください。 

●4.5.2 詳細分析の結果 

OSSプロジェクトの現状を垣間見せる興味深い説明と思います。 
しかしこれは共進化関係とは言えず、むしろOSSプロジェク 
トのプロジェクトマネジメントを考える上で参考になる知見 
ではないでしょうか。 

 Yeらのモデルを出発点とした先行研究とは異なり、探索的な 
データマイニングにより、プロジェクトのリアルな状況を 
垣間見せる結果が得られていると考えますので、4.1節の 
本論文の位置づけとあわせて、目的から結果につながる論理の 
流れを再検討してください。 

***コメント [#pd080717]
実際のOSSコミュニティの活動から得られた定量的データに 
基づき、実証的にOSSを評価しようとする姿勢は意欲的です。 
統計解析手法にも新規性があり、データの処理や検定を行う 
などの手順も妥当であると考えます。 

 しかし、現時点で本論文が示す結果は、OSSの開発者コミュ 
ニティとOSS製品等との共進化モデルを定量的に分析する 
という当初の目的に合致しているとは言い難いです。 

 共進化モデルに基づくのであれば、同モデルにとって 
最も重要な目的変数(群)は何であるか、または、「望ま 
しいOSSコミュニティ」が産すべきアウトプットは何で 
あるかを考えるべきではないでしょうか。その目的変数を、 
より良く説明できるかどうかを見ることによって、説明 
変数の選択および分析手法の評価が行い得ると考える 
からです。 

 ただし、本論文で行ったように、多数のメトリクス間の 
関係を広く探索的に分析する場合、共進化モデルなどの 
既存の仮説に拘る必要性は小さいと言えるように思います。 
そうであるならば、4.5.2節に記述されているような、OSS 
プロジェクトのリアルな状況の分析に重点を置くことも 
一方法ではないかと思います。 

 なお、本論文内の細かい点について、以下に逐次の 
コメントを述べます。本論文を改善する際の参考として 
いただければと思います。 


●概要 

「一方,「サポートが得られるかどうか分からない」など 
の理由から,依然としてOSS の活用に躊躇するシステム 
開発企業は少なくない.」 

対象とするOSSの性質へ目を向け、本研究の結果が適用できる 
対象とそうでない対象について触れることが望ましいと思わ 
れます。なぜなら、近年はOSSのサポートを提供するサポート 
ベンダーの存在感が増しており、サポートは主にこれら企業が 
担い、コミュニティは開発に専念するOSS製品も多く存在する 
ので、そういう製品については関連企業の評価の方が重要 
だからです。 


●2. 関連研究 

OSSの進化に関する諸研究を整理できているものと思いますが、 
本章の説明を読む限り、OSS開発の状況を記述するような 
研究ばかりであると感じます。OSS開発の信頼性を評価しようと 
する本研究と同様の狙いを持った既存研究は無いのでしょうか。 
無いのであれば、そこを本研究の狙いと絡めて強調しても良い 
かと思います。 

●2.1 OSS の進化に関する研究 

「OSSの進化に関する既存研究は,以下の3つの観点から大別 
することができる.」 

ここで列挙されている観点を一瞥すると、まず、パッチの件数、 
バージョンアップ(またはコミット)の頻度、メーリング 
リストのメール流量といった指標が無いことに違和感を覚えます。 
(既存研究が存在しなければ、当然ここに記載が無くてもやむを 
得ませんが) 


●3.2 前処理 

「ただし,ソフトウェア開発データは外れ値を含む場合が多い.」 

一例でかまわないので、ソフトウェア開発データでは、なぜ、 
どのような外れ値を含むのかに触れるなど、簡単な説明を 
加えることが望ましいです。 


●3.3.2 遅延相関係数の算出 

「ソフトウェア開発データは,正規分布に従うことが少ないため」 

なぜソフトウェア開発データは正規分布に従うことが少ないのか、 
正規分布に従わない場合は、どのような分布となるのか、また、 
OSS開発のような継続的・反復的なプロセスでも通常のソフト 
ウェア開発と同様なのかどうか、といった疑問を感じます。 

 ソフトウェア工学分野に不案内な者にも論理の流れを理解できる 
ように、これらに簡単に触れることが望ましいです。または、実際に 
データの分布を確認した結果を述べ、その理由として考えられる 
ことを例示するような説明も適していると思われます。 


●3.4.2 最大相関係数の更新 

「算出された相関係数の絶対値が最大となるメトリクスペアの 
各パラメータの値およびその相関係数のみを出力することが 
できる.」 

「出力することができる」など、何らかの統計ツールの使用を 
前提とした表現に違和感を感じます。「選択する」とするか、 
あるいは逆に、使用した統計ツール名を明示すべきと思われます。 



●4.2.2 対象データ 

ソースコードの統計としては、ファイル数よりもステップ数の 
方が一般的と考えますが、本節でソースコード件数を提示した 
理由があれば触れてください。 

Platrom--> Platform 
typo 

●4.3 対象メトリクス 

131 種類のの --> 131 種類の 
typo 


●4.5.1 遅延を伴う相関関係 

「表4.2.2 に,抽出することのできた関係およびその関係 
の強さ,各パラメータの値,p 値を示す.」 
--> 「表5」の間違いと思います。 

表5 提案手法のみで抽出することのできた相関関係 

Priority 1と5 のどちらが高い Priority なのか、本表でも 
明示されていると良いです。 


●5.1 相関分析との比較 

「このような結果になった理由は,今回用いた131 種類の 
メトリクスの中に,類似したメトリクスのペアが多く含ま 
れていたことが原因であると考えられる.」 

 本節で著者が述べられているように、相関関係にあるメト 
リクスの中には、必ずしも因果関係を示さないものが多く 
含まれる場合もあるので、通常の相関分析により有意な 
相関関係が多く得られたからといって、そのこと自体の意味は 
小さいと思います。 

 従って、先に4.4節へのコメントで触れたとおり、有用性の 
意味づけについて再検討を望みますが、そのこととは別に 
分析手法として、このようなに類似したメトリクスが多い場合、 
代表的なメトリクスを選択するか、または何らかの合成スコアを 
得る多変量解析の手法を使用するといった方法もあり得るの 
ではないでしょうか。今後、可能であればご検討ください。 

***第2査読者 [#d1dffdd1]
***条件 [#j72956c1]
本論文は、OSSシステムとコミュニティの「共進化」のプロセスを分析するための手法に関し、 
時間的遅れ関係に着目した相関分析手法を活用することで従来浮かび上がらなかった関係性を発見する可能性を提起したものです。 
時間遅れ相関分析を本領域に適用する点の新規性や、実験対象のデータおよびメトリクスが豊富であり興味深い発見が含まれる可能性がある点について評価します。 
また、このような業務成果物とコミュニケーションを分析した業務やコミュニティの状態分析手法は、OSSプロジェクトのみならず一般業務などに同様のアプローチが適用できる可能性が高く、研究成果の有用性があると認められます。本特集号のテーマにも合致すると考えます。 


しかし、以下の3点から、本論文は、読み手に疑念を与える内容であると考えます。 
1.論文で提案している分析手法の適切さに疑念が残ること 
2.論文内に不正確または説明不十分と思われる点があること 
3.本論文の目的と照らし合わせた時に実験結果の考察が不十分であること 

そこで、前記3つの問題が解決されるように修正されること、または、論理的な反論が認められることを条件に採録とすべきと判断しました。 

以下に条件を説明します。 
なお、下記の条件への対応はある程度の作業コストがかかる可能性があると思われます。 
前述のとおり本論文は採録に値する新規性や有用性を含むため、 
時間内に対応することが難しい場合も、再度分析または論文修正を行い再投稿することを切に望みます。 



------------------------------------------------ 
問題1.論文で提案している分析手法の適切さに疑念が残ること 

【問題の説明】 
本論文は、引用文献20に記載される手法を参考に遅延相関分析(著者の用語)を行ったものです。しかし、一般にデータ分析における時間遅れ分析は、自己回帰分析や通常の回帰分析などにおいて引用文献20のような形ではない説明変数および目的変数に関する手法は多数提案されています。その中で、なぜ引用文献20と類似する説明変数および目的変数としたのか、本論文の領域に適用する意味は何かについての説明が不足していると考えます。また、場合によっては説明変数または目的変数を変更・追加しての再分析も必要である可能性があると考えます。 

具体的に説明します。私は、本論文の領域に適用する場合、別の説明変数と目的変数も含む、または変更するべきであると考えます。特に説明変数が「和」であることと、目的変数が「差」であることについてもっと良い方法があったのではないかという印象が残ります。引用文献20では、なぜ説明変数が「和」であり目的変数が「差」であったのかというと、生活習慣と健康状態の関係の分析という目的のために、健康状態という『状態量』が目的変数で、生活習慣という『時間ごとに計測される量』が説明変数であったという特徴があるからです。 
『状態量』の差や、『時間ごとに計測される量』の和を取ることには「生活習慣の蓄積(=和)が健康状態の変化(差)に影響を及ぼす」という論理的な説明があるため妥当な設計であると考えられます。 

一方、本論文では、コード数やクラス数などの『状態量』も、不具合修正時間や不具合報告人数などの『時間的に計測される量』も、再割り当てが発生した割合などの『時間的に計測されるが量ではないもの』も説明変数に・目的変数に含まれます。 
このようなデータに対して目的変数は差で説明変数は和であることの意味を解釈しづらく、それは、本論文の可能性を狭めていると考えます。たとえば説明変数において加算係数の代わりに差分係数を採用して差分をとってもよかったのではないかと考えられます。 

本論文の価値は時間遅れ相関分析の説明変数および目的変数の設計を変更しても損なわれるものではなく、説明変数・目的変数において、和・差・値そのものの3種類を全て選ぶまたは、データの特性に応じて適切に1つ選ぶように変更することで、より有用性が上がると考えます。 

そこで以下の条件を設けます。 

【条件】 
○条件1−1.なぜ引用文献20に類似する説明変数と目的変数の設計方法を採用したのかについての論理的な説明の記載。特に説明変数が「和であること」、目的変数が「差であること」の意味を記載すること。 
○条件1−2.説明変数・目的変数に和・差・値そのものの3種類を全て選ぶまたは選択的に選ぶことを行う可能性についての言及の記載。 
(○コメント1.条件2に相当する実験を行うことでより価値の高い分析結果が得られると考えます。本件は条件ではありませんが余力があれば追加実験することもお勧めします) 
(○コメント2.目的変数側はなぜ時間レンジに基づいた和または差がなされないのかも疑問でした。たとえば目的変数は「1点前との差分」を取ることを前提にしていますが、「n点前との差分」が目的変数であってもよいはずです。本件は条件2への対応時に考慮されることを望みます。) 

------------------------------------------------ 
問題2.論文内に不正確または説明不十分と思われる点があること 

【問題の説明】 
以下の点が不正確または説明不十分です。対応を求めます。 

【条件】 
○条件2−1.メトリクス131種類に対する組み合わせが17030通りと記載がありますが、 
加算係数と遅延係数の値域から読み解くと組み合わせ数は13*12*131=20436通りであるように読めます。 
訂正または17030通りの算出根拠を記載すること。 
○条件2−2.図5においてaとbではデータ数が著しく違うことに対する理由の説明の記載。加算係数1遅延係数3の場合、データ数は5件のみ減ると思われます。なぜ件数が108→30となっているのか。論文の手順から読みとくと、外れ値除去を行ったのちに外れ値を含む領域を分析対象外としたのではないかと推測しますが、明記されておらずなぜ30になったのかわかりません。 
○条件2−3.図5のように本提案手法を行うことで分析対象件数が著しく減少することに対する影響の考察や対策の記載。 
○条件2−4.3.2.2の意味についての解説の追加または表現の修正。外れ値であった点に関して「外れ値を欠損値にした後に補完した」と読むのが正しいのですか?そうであるとしたら、そのような点を欠損値とは呼ばないと思いますので、「削除した外れ値の点」など別の表現に変更することを求めます。また、そうでない場合は査読への返答に説明を記載してください。(コメント:私は欠損値補完がなぜされたのかがわかりませんでした。) 
○条件2−5.図5での件数減少が外れ値起因だとした場合、3.2.2および図5に関連して、外れ値とはどれくらいの数あったものなのかについての記載。 
○条件2−6.4.5.1 時間的順序関係を考慮しない通常の相関分析 の方法の記載。何が説明変数で何が目的変数だったのか(差ではありませんよね)、相関係数の閾値などは提案手法の実験と同様であったのか。提案手法の分析における遅延係数0で加算係数0の時の分析と同様なのかどうか、など分かりません。 
○条件2−7.4.5.1 時間的順序関係を考慮しない通常の相関分析での結果の値に関する説明。なぜ731件と奇数になるのか。論文記述から推測するに、本分析は131*130/2通りの相関を検討したように思えるが、その通りかどうか。 
○条件2−8.3.3「説明変数の変化量が一定期間後に〜」 一般に和のことを変化量とは言いません。表現を修正すること。同様の表現は他の箇所にも多数あります。(ちなみに5.1では説明変数の状態と書かれています) 
○条件2−9.3.3.2「目的変数の変化量が0.05より小さいとは、変動率が5%未満であることを」 一般に変動率とは、変化前の値との差分を変化前の値で割ったものです。その定義だと変化量が0.05でも変動率は高くなる可能性があります。表現の修正または変動率の定義を書くこと。 
○条件2−10.4.5.1「不具合の修正に多くの時間を要する状態が1か月続くと」 加算係数が1の場合は2か月続くように定義上読みとけます。加算係数の定義の説明の修正または「1か月続く」の修正。 


------------------------------------------------ 
3.本論文の目的と照らし合わせた時に実験結果の考察が不十分であること 

【問題の説明】 
以下の考察が不足していると考えられます。対応を求めます。 

○条件3−1.今回の実験における加算係数と遅延係数の値域の妥当性に関する考察。なぜ加算係数0はないのか、上限は12であったのは妥当だったのかについて。 
○条件3−2.今回の実験結果における加算係数と相関係数の関係性や傾向に関する考察 
  本件、表5においてなぜ加算係数が1,2,11,12に集中しているのかについては実験者のみわかる理由が隠れていると考えられ、その説明を記載してください。なぜ加算係数が大きいと遅延係数も大きい値のものだけが相関係数最大として抽出されているのか、それは本手法のデータ抽出仮定などに起因するのではないかと推測しています(条件2−2に記載のようにデータ件数が変化する度合の特性が加算係数や遅延係数によって変化してしまっていて、それが結果的に抽出された最高相関係数のものに影響してしまっているのではないか)。 
○条件3−3.アーティファクト・開発者・コミュニティの3つの系統を混ぜて分析したことに対しての本実験結果の考察。たとえば表5で抽出されたものは前記3つの間の関係性が多かったのか、それともそれぞれの系統内の関係性が多かったのか。たとえば、単純な相関係数分析と比較して異なる系統間の相関が浮かび上がりやすかったりすると、本研究の最終目的に対して有用な手法であるとさらに言えると考えられます。他にも、時間遅れ度合の現れ方に偏りがあるのか、たとえば、説明変数側により登場しやすい系統やデータソースがあるとしたら、それは時間的に先発の現象であることが示唆され、今後状態監視などのアプリケーションに適用するときに重要なチェック対象であるなどの活用が考えられます。 


------------------------------------------------ 

以上です。本査読コメントが研究の発展に寄与することを切に望みます。 
***コメント [#p435daee]
採録の条件内に関連コメントを記載しました。そちらをご覧ください。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS