2 Software Engineering Laboratory Department of Computer Science
メソッドの同時更新履歴を用いた クラスの機能別分類法 井上研究室 博士前期課程2年 楠田泰三 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1
Feature Location ソフトウェア理解のコストの増大[1] 保守作業を行う上では、ソフトウェア全体の理解よりも保守作業に応じ た一部の詳細な理解の方が重要[2] ソフトウェアの持つ機能と、その実装箇所の対応を 特定する 入力ファイルを 読み込む 解析結果を出力する データを解析する ソースコード [1] Encyclopedia of Software Engineering. Pigoski T. M. , 1994 [2] Partial Comprehension of Complex Programs. K. Erdos et al. IWPC'98 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 2
手順2. 1 - 同時更新の強さを表すメトリクスの計算 { A. a 1() , B. b() } { A. a 2() , C. c() } { A. a 1() , B. b() } { A. a 1() , A. a 2() , B. b() , C. c() } 外れ値を除去した同時更新された メソッド群のリスト : メトリクス値 同時更新の強さ = どの程度同時に更新される傾向があるかを数値 で表現 Zimmermann らが提案した confidence メトリクス[1]を用いる [1] Zimmermann et al. How History Justifies System Architecture ( or not ). IWPSE 2003 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 9
検証実験 対象とするソフトウェアに対し本手法を適用し、適切 にクラスがグループ化できているかを調べる 実験対象 CREBASS ( Cvs REpository Browse And Search System ) CVS リポジトリ閲覧・検索システム Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 13
- Slides: 16