奈良先端科学技術大学院大学 > 情報科学研究科 / 情報科学センター

MUDABlue ソフトウェア自動分類システム

類似ソフトウェアの発見

MUDABlue はソフトウェアリポジトリに蓄積されている膨大なソフトウェアの分 類を自動化するためのシステムです.

MUDABlue が提供する分類結果を利用することで,もし要求を満すソフトウェア が発見できれば,これをそのまま再利用することで開発工程を大幅に削減するこ とが可能になります.また,再利用が困難であっても比較的類似したソフトウェ アが発見できれば,その開発履歴,例えばバグレポートやソースコードの変遷な どを見ることで,バグが多くでた部分はどこか,どの部分の実装に工数を要した のか,など開発が困難であろうと思われる部分を事前に知ることができます.

MUDABlueの特長

1. 多重分類の許容

もっとも単純な分類はソフトウェアの用途による分類です.しかし,ソフ トウェアにはそれ以外にもさまざまな分類基準が考えられます.例えば Windows 上で動作するのか,Mac 上で動作するのかといった対応 OS によ る分類などが考えられます.

このような分類を実現するために,MUDABlue は一つのソフトウェアが複 数個のカテゴリに属することを許しています.これにより,Windows 上で 動作するテキストエディタといった概念をごく自然に表現しています.

多重分類されるソフトウェア

2. カテゴリの自動抽出

これまでに提案されている自動分類手法では分類対象であるカテゴリの集 合は前もって与えられており,各ソフトウェアがどのカテゴリに当てはま るのかを決定するものでした.しかし,ソフトウェアを取りまく環境の変 化は目まぐるしく,日々新たなアーキテクチャやライブラリが提案されて います.

そこで MUDABlue ではカテゴリをも自動的に抽出することで,アーキテク チャやライブラリの追加にも自動的に対応します.

3. ソースコードのみから分類

多くの研究ではソフトウェアに付属するドキュメントを用いて分類を行い ますが,付属するドキュメントの質や量はソフトウェアによって大きなバ ラツキがあります.そもそも付属ドキュメントがないソフトウェアもたく さんあります.

MUDABlue ではソースコードだけを利用して分類を行います.ドキュメン トがないソフトウェアはあっても,ソースコードが存在しないソフトウェ アは存在しません.

今後の研究課題

1. ヒューマンファクターの適度なとりこみ

MUDABlue はソフトウェアの自動分類する際には事前知識を一切必要としません.このことは本手法の大きなメリットですが,同時に予測精度向上のための支援ができないことも意味します.そこで何らかの形で事前知識を用いることで分類の精度向上を目指します.

2. より大規模なソフトウェアリポジトリへの本手法の適用

実際に数百,数千個規模のソフトウェアに対して本手法を適用して分類が適正にできるかどうかの評価を行うことで,本手法をより実践的なものにすることを目指します.

関連文献

  • Shinji Kawaguchi, Pankaj K. Garg, Makoto Matsushita, Katsuro Inoue: "MUDABlue: An Automatic Categorization System for Open Source Repositories", The Journal of Systems and Software, Vol 79/7, pp.939-953, 2006.
  • 川口真司, パンカジ ガーグ,松下誠, 井上克郎: "MUDABlue: ソフトウェアリポジトリ自動分類システム", 電子情報通信学会論文誌 D-I, Vol.J88-D-I, No.8, pp.1217-1225, 2005. [pdf]
  • Shinji Kawaguchi, Pankaj K. Garg, Makoto Matsushita, Katsuro Inoue: "MUDABlue: An Automatic Categorization System for Open Source Repositories", The 11th Asia-Pacific Software Engineering Conference(APSEC2004), pp.184-193, Busan, Korea, November 30th - December 3rd, 2004. [pdf] [ppt]
  • Shinji Kawaguchi, Pankaj K. Garg, Makoto Matsushita, Katsuro Inoue: "Automatic Categorization Algorithm for Evolvable Software Archive", Sixth International Workshop on Principles of Software Evolution (IWPSE2003), pp-195-200, Helsinki, Finland, September 1-2, 2003. [pdf] [ppt]
  • 川口真司, 松下誠, 井上克郎: "潜在的意味解析法 LSA を利用したソフトウェア分類システムの試作", 情報処理学会研究報告, 2003-SE-140, Vol.2003, No.22, pp.55-62, 情報処理学会本部会議室, 2003.3.6. (学生研究賞受賞) [pdf] [ppt]