研究課題/領域番号 |
14380144
|
研究機関 | 大阪大学 |
研究代表者 |
井上 克郎 大阪大学, 大学院・情報科学研究科, 教授 (20168438)
|
研究分担者 |
松下 誠 大阪大学, 大学院・情報科学研究科, 助手 (60304028)
楠本 真二 大阪大学, 大学院・情報科学研究科, 助教授 (30234438)
|
キーワード | 潜在的意味解析手法LSA / 識別子 / 類似度 / クラスタ / 自動分類 |
研究概要 |
本年度は、ソースプログラムの分類を効率よく行う方式の検討、およびシステムの試作を行った。 提案するソフトウェア分類手法では、ソフトウェアが持つそれぞれの側面を抽出するために、プログラムに含まれる変数名や、関数名などの識別子に着目する。これら識別子は、それらが使われている文脈での動作を表しているものと考える。例えばwindowという識別子は何らかのウィドウを表しており、この識別子が使われているプログラム文の近傍ではなんらかのGUIに関する動作が行われている可能性が高い。 関連の高い識別子群を特定するために、自然言語の分野で利用されている潜在的意味解析手法Latent Semantic Analysisを応用した。LSAは、直接連した単語がなくとも、類似した単語を抽出することができる。 この方式を用いてシステムを構築した。システムでは、まず、各ソフトウェアからトークンの抽出を行い、共起行列を作成する。次に、分析に不要なトークンを取りのぞき、LSAを適用する。その結果を用いて識別子間の類似度を計測し、その類似度に基づいてクラスタ分析を行う。その結果得られたクラスタ一つ一つをカテゴリとして、ソフトウェアの分類を行う。 本システムを用いて、実際にソフトウェアの分類を行い、既存の分類と比較して適正な分類が可能かどうか確認を行った。その結果、既存の分類と比較した場合、得られたクラスタの多数は既存の分類に従っていることがわかった。 本手法を用いることにより、対象ソフトウェアに対する詳細な知識が無くとも自動的に分類が行えるようになった。
|