配分額 *注記 |
11,200千円 (直接経費: 11,200千円)
2004年度: 2,700千円 (直接経費: 2,700千円)
2003年度: 3,800千円 (直接経費: 3,800千円)
2002年度: 4,700千円 (直接経費: 4,700千円)
|
研究概要 |
本研究は,定評ある大規模なオープンソース・ソフトウェアを対象としたソースプログラム・コーパスとその内容を提示するコンコーダンサーに関する基盤技術を確立することを目標としている. 具体的には,これまでに作成された多くの定評あるソフトウェア群から,イディオムとして頻繁に利用されているライブラリの組み合わせを効率的に提示・検索検索する基盤技術を確立した.以下に主要成果を示す. (1)本研究では,ライブラリの利用において他のライブラリとの組み合わせが特に重要であると考え,依存関係によるライブラリの組み合わせを表現する関数呼出依存グラフを提案した. (2)上記の関数呼出依存グラフを用いて,プログラマーにコーディングパターンとして提示する手法を提案した.提案した手法を評価するために,実験を行ない,FreeBSDのソースツリーに対して平均2,100行からなるプログラム283個からコーディングパターンを抽出した.その結果,ライブラリ関数の返り値の検査パターンが92個,典型的なライブラリ関数の組み合わせを表すパターンが61個得られ,提案した手法が有効であることを示した. (3)既存のソフトウェアから抽出した関数呼出依存グラフ群からライブラリの組み合わせを検索した結果を分類および順位付けする手法を提案し,実装した.実装したシステムを用いて実際にFreeBSDの/usr/src/usr.sbinにある平均1,500行のソフトウェア152個を対象に利用頻度の高いライブラリ関数に対して関数呼出依存グラフの分類および順位付けを行った.その結果,実際によく利用されているライブラリ関数の組み合わせが得られた.また,平均約40個の関数呼出依存グラフから平均5個のカテゴリに分類する事ができた.
|