2004 Fiscal Year Annual Research Report
オープンソースを対象とした大規模ソースプログラム・コーパスの開発とその応用
Project/Area Number |
14380148
|
Research Institution | Aichi Prefectual University |
Principal Investigator |
山本 晋一郎 愛知県立大学, 情報科学部, 助教授 (40240098)
|
Co-Investigator(Kenkyū-buntansha) |
大久保 弘崇 愛知県立大学, 情報科学部, 助手 (40295580)
粕谷 英人 愛知県立大学, 情報科学部, 助手 (10295579)
直井 徹 岐阜大学, 工学部, 助教授 (10207699)
吉田 敦 和歌山大学, システム情報学センター, 講師 (50283495)
|
Keywords | プログラムコーパス / ソフトウェア再利用 / ソフトウェア検索 / イディオム / 類似度 / クラスタリング |
Research Abstract |
本研究は,定評ある大規模なオープンソース・ソフトウェアを対象としたソースプログラム・コーパスとその内容を提示するコンコーダンサーに関する基盤技術を確立することを目標としている. 具体的には,これまでに作成された多くの定評あるソフトウェア群から,イディオムとして頻繁に利用されているライブラリの組み合わせを効率的に提示・検索検索する基盤技術を確立した.以下に主要成果を示す. (1)本研究では,ライブラリの利用において他のライブラリとの組み合わせが特に重要であると考え,依存関係によるライブラリの組み合わせを表現する関数呼出依存グラフを提案した. (2)上記の関数呼出依存グラフを用いて,プログラマーにコーディングパターンとして提示する手法を提案した.提案した手法を評価するために,実験を行ない,FreeBSDのソースツリーに対して平均2,100行からなるプログラム283個からコーディングパターンを抽出した.その結果,ライブラリ関数の返り値の検査パターンが92個,典型的なライブラリ関数の組み合わせを表すパターンが61個得られ,提案した手法が有効であることを示した. (3)既存のソフトウェアから抽出した関数呼出依存グラフ群からライブラリの組み合わせを検索した結果を分類および順位付けする手法を提案し,実装した.実装したシステムを用いて実際にFreeBSDの/usr/src/usr.sbinにある平均1,500行のソフトウェア152個を対象に利用頻度の高いライブラリ関数に対して関数呼出依存グラフの分類および順位付けを行った.その結果,実際によく利用されているライブラリ関数の組み合わせが得られた.また,平均約40個の関数呼出依存グラフから平均5個のカテゴリに分類する事ができた.
|
Research Products
(6 results)