MUDABlue
MUDABlue は, ソフトウェアリポジトリに対して,潜在的意味解析手法を用いることにより,ソースコードの特徴から得られるカテゴリ集合を作成 し,ソフトウェアの分類を自動的に行うシステムです.用途による分類のみならず依存ライブラリやアーキテクチャによる分類も可能です.
ネットワークの発達および分散ソフトウェアの一般化にともなって,ネットワーク上にソフトウェアプロダクトを保存するソフトウェアリポジトリが 注目されています.特にオープンソースの世界では,SourceForge を始め, さまざまなソフトウェアリポジトリが存在し,それぞれ膨大な数のソフトウェアが登録されています.そのため,実際に利用したいソフトウェアや類似ソフトウェアを検索するためには,ソフトウェアが分類,整理されていなければなりません.現存するリポジトリサービスでは,プロジェクトを登録する人がそのプロジェクトの分類を行います.しかし,このような手動分類では分類先となるカテゴリ集合を定義するのに多大な労力を要します. また,個々のソフトウェアがどのカテゴリに分類されるのか,分類を行うソフトウェア登録者の主観に依存するため,分類の一貫性に問題があります.
このような問題を解消するために,自動的にソフトウェアの分類を行うMUDABlue システムを開発しました.MUDABlue は, 単語間の意味的繋がりを抽出するための統計的手法の一種である潜在的意味解析手法(Latent Semantic Analysis. 以下LSA)をソースコードに適用することで,カテゴリ集合の作成とソフトウェアの分類を自動的に行います.MUDABlue の大きな特徴は,1) ソースコードのみに依存するため,管理者の入力を一切必要としないこと,2) 一つのソフトウェアに対して複数カテゴリ を割りあてることを許す非排他的な分類により,ソフトウェアの用途による分類だけでなく依存ライブラリやアーキテクチャによる分類を同時に可能にする,という2 点です.
MUDABlue は分類した結果をWeb インタフェースを通じてユーザに提供します.MUDABlueでは, 非排他的な分類結果を描画するために Cluster Map 手法を元にしたUnifiable Cluster Map 手法を定義・実装しています.本手法を用いることでソフトウェアリポジトリ全体を容易に閲覧することが可能になります.
MUDABlue の有用性を確認するために,SourceForege に登録されているプロジェクトデータを用いて,MUDABlue がSourceForege で定められた カテゴリをどれだけ抽出できるのか,ライブラリやアーキテクチャによる分類をどれだけ抽出できるのか, という二つの観点から評価を行いました. 具体的には,SourceForege から5 つのカテゴリをランダムに選択し,その中からC で書かれた41 個のプログ ラムを抽出しました.そのプログラムは総計2,663,215行,164,102 識別子,9,519 個のファイルから構成されます.適合率,再現率等を用いた評価の結果,MUDABlue が SourceForege で定められたカテゴリを自動的にほぼ抽出できることが確認されています.それに加えライブラリやアーキテクチャに基づく新しいカテゴリの抽出と分類が可能であることが確認されています.
主な関連文献
  • 川口 真司,パンカジ ガーグ,松下 誠,井上 克郎,“MUDABlue: ソフトウェアリポジトリ自動分類システム,” 電子情報通信学会論文誌 D-I,Vol.J88-D-I,No.8,pp.1217-1225,August 2005.
  • Shinji Kawaguchi, Pankaj K. Garg, Makoto Matsushita and Katsuro Inoue, “On automatic categorization of open source software,” 3rd Workshop on Open Source Software Engineering: Taking Stock of the Bazaar (ICSE2003), pp.79-83, Portland, Oregon, U.S.A., May 2003.
  • Shinji Kawaguchi, Pankaj K. Garg, Makoto Matsushita and Katsuro Inoue, “Automatic categorization algorithm for evolvable software archive,” Proc. 2003 International Workshop on Principles of Software Evolution (IWPSE2003), pp.195-200, September 2003.
  • Shinji Kawaguchi, Pankaj K. Garg, Makoto Matsushita and Katsuro Inoue, “MUDABlue: An Automatic Categorization System for Open Source Repositories,” Proc. 11th Asia-Pacific Software Engineering Conference (APSEC2004), pp.184-193, December 2004.
  • Copyright (c) 2003-2008 Nara Institute of Science and Technology and Osaka University. All Rights Reserved.