研究課題/領域番号 |
23650015
|
研究機関 | 大阪大学 |
研究代表者 |
井上 克郎 大阪大学, 情報科学研究科, 教授 (20168438)
|
研究分担者 |
松下 誠 大阪大学, 情報科学研究科, 准教授 (60304028)
石尾 隆 大阪大学, 情報科学研究科, 助教 (60452413)
|
研究期間 (年度) |
2011-04-28 – 2012-03-31
|
キーワード | コードクローン検索 / オープンソースソフトウェア / コード検索エンジン |
研究概要 |
オープンソースシステムでは、多くのソースコード片が繰り返しコピーされ、再利用されてきている。今、手元にあるソースコード片が、オープンソースシステムのどの部分からコピーされ、再利用されているかを知ること(氏素性分析)は、そのソースコード片を最利用する上で非常に重要な情報である。その情報を得るために、本研究では、計画に基づきIchi Trackerを開発した。本システムは、与えられたコード片に対して、そのコードを含むファイルをユーザーに返す。 まず、与えられた質問ソースコード片から外部検索エンジンに与えるキーワードを抽出する。次にそのキーワードを外部検索エンジンに与える。実際にはGoogle Code Search, Koders, SPARS/Rを外部検索エンジンとして利用した。それぞれの検索エンジンから得られた結果をマージし、十分な結果が得られたなら、それらの結果と質問ソースコード片との間のコードクローン分析を行い、十分似ているファイルのみを残す。 作成したIchi Trackerに対して、いくつかのテストケースを用いて評価を行った。その結果、一つのソースコード片が多数のプロジェクトで再利用されていることわかった。その際、徐々に変化して最利用されているものや、安定してそのまま再利用されているもなど幾つかの特徴に分けられることがわかった。また、再利用されているものでも、ライセンスやコピーライトが変更されているものなど、再利用する場合は要注意な場合も容易に発見できることがわかった。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
1: 当初の計画以上に進展している
理由
計画通りにシステムの開発を行い、評価を行った。その結果、この方式によるコードクローン検索システムは十分な実用性があると判断でき、当初の目的を十分に達成した。 さらに、この成果は、ソフトウェア科学会の論文として採録されたのみならず、2012年のInternational Conference on Software Engineering (ソフトウェア工学国際会議)のテクニカルペーパーに採録され、本年6月に発表予定である(採択率=87/408 約21% 日本からは他に1本のみ採録)。
|
今後の研究の推進方策 |
研究は、目的通り順調に進行してきている。しかし、今まで前提としてきた外部検索エンジンのうち、Google Code Searchは本年1月よりサービス停止をしており、現在利用できなくなった。Kodersはその利用条件が厳しく、全自動で検索することができない。 このような状況を打開するために、他に利用できるソースコード検索エンジンを探して、組み込むことを考える。また、コード収集と管理を自前で効率良く行う方法を検討し、システム内でコード検索ができるように工夫する。
|
次年度の研究費の使用計画 |
ICSEへの採録が決定したので、予算の一部を留保し、その出張旅費の一部として利用する。
|