Javaソフトウェア部品検索システム SPARS-Jの実験的評価 井上研究室 梅森 文彰 研究の背景 ソフトウェア開発の大規模化・複雑化 生成されたソフトウェアを再利用したり,管理する機会が 増えた ソフトウェア部品検索システムの必要性 Javaソフトウェア部品検索システムSPARS-J 2 2003年度修士学位論文発表会 2004/2/20 SPARS-J (Software Product Archive, analysis Retrieval System for Java) Javaソフトウェア部品検索システム 大量のJavaのソースコードから部品を切り出す 部品:1クラス・1インタフェースのJavaソースコード 部品を解析し,自動的に情報を抽出 出現キーワード,利用関係,メトリクス 検索要求と検索結果 キーワード型の検索 検索結果表示の工夫 – キーワードの出現頻度や部品の利用関係に基づく順位付け – 類似部品のグループ化 3 2003年度修士学位論文発表会 2004/2/20 研究の目的 ソフトウェア部品の効率的な検索により, 有用なソフトウェア部品の再利用 ソフトウェア部品の管理や理解を支援 SPARS-Jに対して実験的評価を行い,システムの 有効性を検証する 4 2003年度修士学位論文発表会 2004/2/20 評価にあたっての問題点 検索システムの順位付け性能評価 評価用のテストコレクションを用いれば容易 ソフトウェア部品検索システムを対象としたテストコレクショ ンは存在していない 言語,部品の単位等の違いにより,テストコレクションの構築が 非常に困難 独自の評価実験を適用する 5 2003年度修士学位論文発表会 2004/2/20 実験の内容 1. 他の検索システムとの比較 – 一般的な検索システムとの比較により,SPARS-Jのソ フトウェア部品検索システムとしての有効性を検証する 2. SPARS-Jの各順位付け手法の比較 – 各順位付け手法を比較し,最も妥当な順位付け手法 を調査する 3. 実際の開発環境におけるSPARS-Jの適用実験 – 企業において実際に利用してもらうことで,ソフトウェアの 管理や理解に有用であることを確認する 6 2003年度修士学位論文発表会 2004/2/20 実験1. 他の検索システムとの比較 実験の目的 一般的な検索システムとの比較により,SPARS-Jのソフ トウェア部品検索システムとしての有効性を検証する 比較対象 Google:Webページ検索システムで,様々な目的の検 索に利用される Namazu:信頼性の高い全文検索システム 評価尺度 適合率:検索結果のうちの適合部品数の割合 割合が高いほど,検索結果に利用できる部品が多く含まれる 7 2003年度修士学位論文発表会 2004/2/20 実験1. 他の検索システムとの比較 準備 データベース SPARS-JとNamazuに関しては, JDKおよびWeb上で公開さ れているソースコード(約14万個のソースファイル)で構築 Googleは公開されている検索エンジンをそのまま用いる 検索キーワード 簡単なシステムの開発を想定したクエリを10個用意する 手順 各検索システムの検索結果上位10件の部品を対象とし て,適合率を求める 8 2003年度修士学位論文発表会 2004/2/20 実験1の結果 各検索システムの適合率の比較 keyword KR CR+KR Google Namazu A 1 1 1 0.7 0.9 B 1 1 1 0.4 0.6 C 0.5 0.5 0.5 0.3 0.4 D 0.4 0.9 0.8 0.3 0.6 E 0.4 0.4 0.4 0.1 0.3 F 0.2 0.2 0.2 0 0.1 G 0.9 1 1 0.3 0.4 H 1 0.8 1 0.1 0.2 I 0.6 0.7 0.7 0.4 0.4 J 0.5 0.7 0.7 0.4 0.7 0.65 0.72 0.73 0.3 0.46 Ave. 9 CR 2003年度修士学位論文発表会 2004/2/20 実験1の評価 対応のある平均値の差の検定 有意水準5%で以下の有意差が見られた 適合率 SPARS-J(CR,KR,CR+KR) ≫ Namazu ≫ Google SPARS-Jは他の検索システムより,ソフトウェア部品 を検索するときに有用である 10 2003年度修士学位論文発表会 2004/2/20 実験2. SPARS-Jの各順位付け手法の比較 実験目的 各順位付け手法を比較し,最も妥当な順位付け手法を調査する SPARS-Jでは3種類の評価手法による順位付け機能を実現 1. 利用関係をもとにした評価手法(CR) 2. キーワードの出現頻度をもとにした評価手法(KR) 3. 1.2.の手法を統合した評価手法(CR+KR) 評価尺度 適合率:検索結果のうちの適合部品数の割合 割合が高いほど,検索結果に利用できる部品が多く含まれる ndpm値:ユーザの順位付けとシステムの順位付けの違い 値が小さいほど,理想的な順位付けと言える 11 2003年度修士学位論文発表会 2004/2/20 ndpm値の計算方法 検索文書集合の全てのペア(d,d’)における,システ ムとユーザで順位付けが異なるペア数(m)の割合 文書集合の要素数をnとすると m ndpm nC 2 計算例 D d1 , d 2 , d3 d1 s d2 s d3 d1 u d3 u d2 1 ndpm 0.333 3 (3 1)/ 2 12 2003年度修士学位論文発表会 2004/2/20 実験2. SPARS-Jの各順位付け手法の比較 準備 データベース (実験1と同じ)14万個のソースコード群から構築 検索キーワード (実験1と同じ)10個のクエリを用いる 手順 各順位付け手法の検索結果上位10件の部品を対象として適合 率を求める 評価実験1の結果を用いる 各順位付け手法による検索結果の全ての部品を対象として,ユー ザの想定する理想的な順位付けとのndpm値求める 13 2003年度修士学位論文発表会 2004/2/20 実験2の結果 適合率 keyword KR CR+KR CR KR CR+KR A 1 1 1 0.036 0.048 0.037 B 1 1 1 0.194 0.261 0.221 C 0.5 0.5 0.5 0.133 0.117 0.092 D 0.4 0.9 0.8 0.123 0.200 0.189 E 0.4 0.4 0.4 0.208 0.192 0.194 F 0.2 0.2 0.2 0.184 0.184 0.160 G 0.9 1 1 0.081 0.103 0.080 H 1 0.8 1 0.047 0.109 0.052 I 0.6 0.7 0.7 0.210 0.324 0.267 J 0.5 0.7 0.7 0.219 0.243 0.114 0.65 0.72 0.73 0.143 0.178 0.141 Ave. 14 CR ndpm値 2003年度修士学位論文発表会 2004/2/20 実験2の評価 対応のある平均値の差の検定 有意水準5%で以下の有意差が見られた 適合率 KR,CR+KR ≫ CR ndpm値 CR,CR+KR ≫ KR CR法:ユーザの想定した順位で並んでいる KR法:上位に適合部品が多く存在しやすい CR法とKR法を統合することで適合率とndpm値の 両方で優れた順位付けを行うことができる 15 2003年度修士学位論文発表会 2004/2/20 実験3. 企業内のソフトウェアに対する適用実験 実験目的 企業において実際に利用してもらうことで,ソフトウェアの 管理や理解に有用であることを確認する 実験内容 検索結果における適合率・ndpm値の評価 SPARS-Jついての定性的な評価 企業内のソフトウェア開発・保守を行っている従業員7名に対 して,SPARS-Jについてのアンケートを実施 16 2003年度修士学位論文発表会 2004/2/20 アンケートの結果 (良 5 4 3 2 1 悪) A B C D E 17 パッケージブラウザの利用 4 5 5 同グループのクラスの参照 4 5 検出されたクラスを利用しているクラスの参照 5 検出されたクラスが利用しているクラスの参照 5 5 F G 最頻値 4 3 3 5 5 2 4 3 5,4 5 5 5 5 5 5 1 5 5 5 5 5 クラスのメトリクス値 1 4 1 2 4 5 4,1 ソースコードがダウンロード機能 1 3 5 5 2 5 5 時間的コストの削減 3 5 5 3 4 1 5,3 ソフトウェア品質の向上 5 3 3 3 4 1 3 企業内のソフトウェア把握 3 1 5 3 5 2 1 5,3,1 検索結果一覧表示の見やすさ 4 4 5 5 3 3 5 5 ハイライト表示の見やすさ 3 5 5 5 5 5 5 5 2003年度修士学位論文発表会 2004/2/20 アンケートの評価 特に評価の高かった点 パッケージブラウザの利用 同グループの参照 利用・被利用クラスの参照 検索結果一覧・ハイライト表示の見やすさ その他の意見 部品を利用しているアプリの把握 部品改訂時の影響範囲の調査 ソフトウェア部品の把握が容易となるということを意味 しており,保守作業の支援に繋がっていると言える 18 2003年度修士学位論文発表会 2004/2/20 実験結果の考察 検索結果の順位付け性能と使い勝手について評価を行っ た 他の検索システムとの比較 SPARS-JはJavaソフトウェア部品検索に特化している ソースコードの構文解析を行うことで高性能な順位付け SPARS-Jの各順位付け手法の比較 CR+KRは,CRとKRの両方で良い評価値を得た部品が上位に順位付け される 企業内のソフトウェアに対する適用 実際の開発・保守時には,検索の機能だけではなく,利用関係追跡などの 機能が有用 SPARS-Jはソフトウェア部品の検索に有用であり,また部 品の把握や管理にも非常に役に立つシステムである 19 2003年度修士学位論文発表会 2004/2/20 まとめと今後の課題 ソフトウェア部品検索システムSPARS-Jの実験的評価 他の検索システムとの比較 GoogleとNamazuより優れている SPARS-Jの各順位付け手法の比較 CR・KRそれぞれ特徴があり,それらを統合することで性能が向上した 企業内のソフトウェアにSPARS-Jを適用した 保守を行う時に非常に有効であった 今後の課題 再現率の調査 順位付け性能以外の観点からの定量的評価 20 2003年度修士学位論文発表会 2004/2/20 END The End 21 2003年度修士学位論文発表会 2004/2/20 検索キーワード 評価実験1・2に用いた検索キーワード 22 検索キーワード 検索目的 K1 quicksort アルゴリズム検索 K2 binarysearch アルゴリズム検索 K3 clock applet ツール検索 K4 applet textarea 使用例検索 K5 random number generate ツール検索 K6 stack push pop アルゴリズム検索 K7 chat server client ツール検索 K8 classfile dump ツール検索 K9 zip deflate 使用例検索 K10 write read inputstream outputstream 使用例検索 2003年度修士学位論文発表会 2004/2/20 評価実験2(番外編) ユーザの最も欲しい部品が 出現する順位 有意水準5%で有意差は なし CRは全体的に高順位 KRは検索部品数が多くな ると、順位も悪くなる CR+KRにより性能向上 23 CR KR CR+KR K1 1 2 1 K2 2 1 1 K3 3 2 1 K4 1 1 1 K5 1 1 1 K6 2 8 4 K7 1 1 1 K8 1 2 1 K9 1 1 1 K10 2 1 1 Ave. 1.5 2.0 1.3 2003年度修士学位論文発表会 2004/2/20 評価実験3 企業内のソフトウェアに対し てSPARS-Jを適用 Googleとの比較や Namazuの利用ができない ため、SPARS-Jの各順位 付けの比較のみ 24 検索者 検索キーワード A getHambaisaki B isAdministrator C ShoriStatusAlreadyChanged Exception D check E schedule F BTA002 G get Kana H SGNCompanyCode I KanjiShimei J Password 2003年度修士学位論文発表会 2004/2/20 実験3の結果 適合率 keyword KR CR+KR CR KR CR+KR A 0.3 0.6 0.3 0.267 0.689 0.378 B 1 1 1 1 0.667 0.667 C 1 1 1 0.809 0.524 0.714 D 0.7 0 0.6 0.067 0 0.111 E 0.8 0.5 0.8 0.556 0.311 0.222 F 0.5 0.8 0.8 0.556 0.222 0.244 G 0 0.7 0.6 0 0.067 0.156 H 0.75 0.75 0.75 0.214 0.393 0.393 I 0.2 0.2 0.2 0.3 0 0.2 J 0.2 0.7 0.3 0.222 0.467 0.2 0.506 0.602 0.614 0.399 0.334 0.328 Ave. 25 CR ndpm値 2003年度修士学位論文発表会 2004/2/20 実験3の評価 企業との共同実験 一見すると、適合率・ndpm値共に KRはCRより良い結果が出ている CR+KRはKRより僅かに良い結果である 有意差は見られなかった 新しいバージョンのSPARS-Jでは結 果が改善されると期待できる 26 2003年度修士学位論文発表会 2004/2/20 研究の目的 Javaソフトウェア部品検索システムに対して実験 的評価を行い,システムの有効性を検証する 検索システムの順位付け性能評価 評価用のテストコレクションを用いれば容易 ソフトウェア部品検索システムを対象とした テストコレクションは存在していない 実験内容 1. 他の検索システムとの比較 2. SPARS-Jの各順位付け手法の比較 3. 企業におけるSPARS-Jの適用実験 27 2003年度修士学位論文発表会 2004/2/20
© Copyright 2024 ExpyDoc