270 likes | 398 Views
Java ソフトウェア部品検索システム SPARS-J の実験的評価. 井上研究室 梅森 文彰. 研究の背景. ソフトウェア開発の大規模化・複雑化 生成されたソフトウェアを再利用したり,管理する機会が増えた Java ソフトウェア部品検索システム SPARS-J. ソフトウェア部品検索システムの必要性. SPARS-J ( S oftware P roduct A rchive, analysis R etrieval S ystem for J ava ). Java ソフトウェア部品検索システム 大量の Java のソースコードから部品を切り出す
E N D
Javaソフトウェア部品検索システムSPARS-Jの実験的評価Javaソフトウェア部品検索システムSPARS-Jの実験的評価 井上研究室 梅森 文彰
研究の背景 • ソフトウェア開発の大規模化・複雑化 • 生成されたソフトウェアを再利用したり,管理する機会が増えた • Javaソフトウェア部品検索システムSPARS-J ソフトウェア部品検索システムの必要性 2003年度修士学位論文発表会
SPARS-J(Software Product Archive, analysis Retrieval System for Java) • Javaソフトウェア部品検索システム • 大量のJavaのソースコードから部品を切り出す • 部品:1クラス・1インタフェースのJavaソースコード • 部品を解析し,自動的に情報を抽出 • 出現キーワード,利用関係,メトリクス • 検索要求と検索結果 • キーワード型の検索 • 検索結果表示の工夫 • キーワードの出現頻度や部品の利用関係に基づく順位付け • 類似部品のグループ化 2003年度修士学位論文発表会
研究の目的 • ソフトウェア部品の効率的な検索により, • 有用なソフトウェア部品の再利用 • ソフトウェア部品の管理や理解を支援 • SPARS-Jに対して実験的評価を行い,システムの有効性を検証する 2003年度修士学位論文発表会
評価にあたっての問題点 • 検索システムの順位付け性能評価 • 評価用のテストコレクションを用いれば容易 • ソフトウェア部品検索システムを対象としたテストコレクションは存在していない • 言語,部品の単位等の違いにより,テストコレクションの構築が非常に困難 独自の評価実験を適用する 2003年度修士学位論文発表会
実験の内容 • 他の検索システムとの比較 • 一般的な検索システムとの比較により,SPARS-Jのソフトウェア部品検索システムとしての有効性を検証する • SPARS-Jの各順位付け手法の比較 • 各順位付け手法を比較し,最も妥当な順位付け手法を調査する • 実際の開発環境におけるSPARS-Jの適用実験 • 企業において実際に利用してもらうことで,ソフトウェアの管理や理解に有用であることを確認する 2003年度修士学位論文発表会
実験1.他の検索システムとの比較 • 実験の目的 • 一般的な検索システムとの比較により,SPARS-Jのソフトウェア部品検索システムとしての有効性を検証する • 比較対象 • Google:Webページ検索システムで,様々な目的の検索に利用される • Namazu:信頼性の高い全文検索システム • 評価尺度 • 適合率:検索結果のうちの適合部品数の割合 • 割合が高いほど,検索結果に利用できる部品が多く含まれる 2003年度修士学位論文発表会
実験1.他の検索システムとの比較 • 準備 • データベース • SPARS-JとNamazuに関しては, JDKおよびWeb上で公開されているソースコード(約14万個のソースファイル)で構築 • Googleは公開されている検索エンジンをそのまま用いる • 検索キーワード • 簡単なシステムの開発を想定したクエリを10個用意する • 手順 • 各検索システムの検索結果上位10件の部品を対象として,適合率を求める 2003年度修士学位論文発表会
実験1の結果 各検索システムの適合率の比較 2003年度修士学位論文発表会
実験1の評価 • 対応のある平均値の差の検定 有意水準5%で以下の有意差が見られた • 適合率 • SPARS-J(CR,KR,CR+KR) ≫ Namazu ≫ Google • SPARS-Jは他の検索システムより,ソフトウェア部品を検索するときに有用である 2003年度修士学位論文発表会
実験2.SPARS-Jの各順位付け手法の比較 • 実験目的 各順位付け手法を比較し,最も妥当な順位付け手法を調査する • SPARS-Jでは3種類の評価手法による順位付け機能を実現 • 利用関係をもとにした評価手法(CR) • キーワードの出現頻度をもとにした評価手法(KR) • 1.2.の手法を統合した評価手法(CR+KR) • 評価尺度 • 適合率:検索結果のうちの適合部品数の割合 • 割合が高いほど,検索結果に利用できる部品が多く含まれる • ndpm値:ユーザの順位付けとシステムの順位付けの違い • 値が小さいほど,理想的な順位付けと言える 2003年度修士学位論文発表会
ndpm値の計算方法 • 検索文書集合の全てのペア(d,d’)における,システムとユーザで順位付けが異なるペア数(m)の割合 • 文書集合の要素数をnとすると 計算例 2003年度修士学位論文発表会
実験2.SPARS-Jの各順位付け手法の比較 • 準備 • データベース • (実験1と同じ)14万個のソースコード群から構築 • 検索キーワード • (実験1と同じ)10個のクエリを用いる • 手順 • 各順位付け手法の検索結果上位10件の部品を対象として適合率を求める • 評価実験1の結果を用いる • 各順位付け手法による検索結果の全ての部品を対象として,ユーザの想定する理想的な順位付けとのndpm値求める 2003年度修士学位論文発表会
実験2の結果 適合率 ndpm値 2003年度修士学位論文発表会
実験2の評価 • 対応のある平均値の差の検定 有意水準5%で以下の有意差が見られた • 適合率 • KR,CR+KR ≫ CR • ndpm値 • CR,CR+KR ≫ KR • CR法:ユーザの想定した順位で並んでいる • KR法:上位に適合部品が多く存在しやすい • CR法とKR法を統合することで適合率とndpm値の両方で優れた順位付けを行うことができる 2003年度修士学位論文発表会
実験3.企業内のソフトウェアに対する適用実験実験3.企業内のソフトウェアに対する適用実験 • 実験目的 • 企業において実際に利用してもらうことで,ソフトウェアの管理や理解に有用であることを確認する • 実験内容 • 検索結果における適合率・ndpm値の評価 • SPARS-Jついての定性的な評価 • 企業内のソフトウェア開発・保守を行っている従業員7名に対して,SPARS-Jについてのアンケートを実施 2003年度修士学位論文発表会
アンケートの結果 (良 54 3 2 1悪) 2003年度修士学位論文発表会
アンケートの評価 • 特に評価の高かった点 • パッケージブラウザの利用 • 同グループの参照 • 利用・被利用クラスの参照 • 検索結果一覧・ハイライト表示の見やすさ • その他の意見 • 部品を利用しているアプリの把握 • 部品改訂時の影響範囲の調査 ソフトウェア部品の把握が容易となるということを意味しており,保守作業の支援に繋がっていると言える 2003年度修士学位論文発表会
実験結果の考察 • 検索結果の順位付け性能と使い勝手について評価を行った • 他の検索システムとの比較 • SPARS-JはJavaソフトウェア部品検索に特化している • ソースコードの構文解析を行うことで高性能な順位付け • SPARS-Jの各順位付け手法の比較 • CR+KRは,CRとKRの両方で良い評価値を得た部品が上位に順位付けされる • 企業内のソフトウェアに対する適用 • 実際の開発・保守時には,検索の機能だけではなく,利用関係追跡などの機能が有用 • SPARS-Jはソフトウェア部品の検索に有用であり,また部品の把握や管理にも非常に役に立つシステムである 2003年度修士学位論文発表会
まとめと今後の課題 • ソフトウェア部品検索システムSPARS-Jの実験的評価 • 他の検索システムとの比較 • GoogleとNamazuより優れている • SPARS-Jの各順位付け手法の比較 • CR・KRそれぞれ特徴があり,それらを統合することで性能が向上した • 企業内のソフトウェアにSPARS-Jを適用した • 保守を行う時に非常に有効であった • 今後の課題 • 再現率の調査 • 順位付け性能以外の観点からの定量的評価 2003年度修士学位論文発表会
END The End 2003年度修士学位論文発表会
検索キーワード • 評価実験1・2に用いた検索キーワード 2003年度修士学位論文発表会
評価実験2(番外編) • ユーザの最も欲しい部品が出現する順位 • 有意水準5%で有意差はなし • CRは全体的に高順位 • KRは検索部品数が多くなると、順位も悪くなる • CR+KRにより性能向上 2003年度修士学位論文発表会
評価実験3 • 企業内のソフトウェアに対してSPARS-Jを適用 • Googleとの比較やNamazuの利用ができないため、SPARS-Jの各順位付けの比較のみ 2003年度修士学位論文発表会
実験3の結果 適合率 ndpm値 2003年度修士学位論文発表会
実験3の評価 • 企業との共同実験 一見すると、適合率・ndpm値共に • KRはCRより良い結果が出ている • CR+KRはKRより僅かに良い結果である 有意差は見られなかった 新しいバージョンのSPARS-Jでは結果が改善されると期待できる 2003年度修士学位論文発表会
研究の目的 • Javaソフトウェア部品検索システムに対して実験的評価を行い,システムの有効性を検証する • 検索システムの順位付け性能評価 • 評価用のテストコレクションを用いれば容易 • 実験内容 • 他の検索システムとの比較 • SPARS-Jの各順位付け手法の比較 • 企業におけるSPARS-Jの適用実験 ソフトウェア部品検索システムを対象としたテストコレクションは存在していない 2003年度修士学位論文発表会