１．ソフトウェアプロダクトの収集・解析・検索システム

１．１

代表研究者氏名

１．２

概要

大阪大学大学院情報科学研究科

教授

井上

克郎

ソフトウェアの再利用を効率的に行うことを目指し、種々の方法について知見を収集した。これに基づき、Java プログラムの検索システム SPARS-J を開発した。これは Java
プログラムの間の利用関係を大域的に解析し、その被利用度に基づいて、プログラム部品の重要度のランク付けを行う。解析対象のデータとして、約 18 万個の Java プログラム部
品をネットワーク上から収集・解析し、それを検索できるように Web 上に公開した。

１．３

研究開発実施内容

現在までに、様々なソフトウェアが数多く開発され、世界中で利用されてきている。しかし、開発されたソフトウェアが、有効に蓄積され、再利用されているとは言い難い状況である。本研究では、ソフトウェアを対象とした検索システムの構築を目指した。
まず、ソフトウェアの再利用や収集の方式について検討するために、複数の研究班で基礎的な研究を行い、プロトタイプシステムを開発した。
(1) 第１班（総括班）：

ソフトウェアプロダクトの収集・解析・検索システム

ソフトウェア部品の収集ロボットで部品を集め、部品の利用関係をグラフ化し、部品の重要度を計算し、それに基づいて、検索結果を表示する方式の提案とプロトタイプシステ
ムの構築を行った。
(2) 第２班：

イディオムを用いたソフトウェア検索方式の研究

コード記述の中で基本機能を表現するライブラリ関数の組み合わせ抽出および検索を行
うために研究を行い、ライブラリ関数の組み合わせ検索システムを構築した。
(3) 第３班：

バイナリ形式コンポーネントの収集・解析・検索システムの開発

コンパイル済みの Java プログラムを対象として、組み込まれているバイナリ形式コン
ポーネントの判別と、各コンポーネントの組み込み情報の抽出を行うシステムを試作した。
(4) 第４班：

ソフトウェア再利用のための分散作業支援方式の研究

ソースコードにその内容を表すメタデータを付与し、同義語や類義語を定義したオント
ロジを参照して検索を行うシステムを提案した。
(5) 第５班：

ソフトウェアメトリクスに基づく中粒度解析システムの開発

WWW 空間を巡回してソフトウェア資源を収集するとともに、収集したソフトウェア資源の特性を計測し、検索キーや検索結果のスコアリングに利用するシステムを開発した。

(6) 第６班：認知モデルに基づいた関連ソフトウェア自動収集提示システムの開発

タスクに有益なソフトウェアプロダクトを収集するために、プログラミング環境における作業から認知的タスクモデルを構築し、その支援のための枠組みを構築した。

これらの成果に基づき、大規模な Java プログラムの集積を解析し、検索するシステム
SPARS-J の開発を行った。SPARS-J は、Java ファイル群を入力として、その間の利用関係を解析し、利用の多さ、重要度に基づいて、各プログラム部品をランク付けしてデータベースに格納する。格納された部品群に対して、キーワード検索を行い、その重要度に基づいて、検索結果を表示する。この SPARS-J システムは、単なる研究プロトタイプシス
テムとしてではなく、実際の現場で利用可能なように工夫した。すなわち、大規模なソフ
トウェア部品群に耐えうるスケーラビリティを考えシステム構築を行い、使い勝手の良いGUI を考え Web ブラウザで検索が行えるようにした。
SPARS-J システムに対して、インターネット上で利用可能な、種々の Java プログラムを収集し、そのプログラム部品の間の利用関係を解析し、SPARS-J のデータベースに格納した。このデータベースに対しての検索を、インターネット上に公開し、多くのユーザから利用できるようにした（http://demo.spars.info)。
SPARS-J システムは、実際に、種々の組織で開発された Java プログラムの検索に用いられている。サントリー（株）では、社内で開発した多数の Java プログラムの管理・検索に SPARS-J を導入して利用している。また、我々の大阪大学のソフトウェア工学研究室でも開発済みの Java プログラムの管理に用いている。

１．４

題目別実施内容(1) 第１班（総括班）
研究開発題目１：

ソフトウェアプロダクトの収集・解析・検索システム

担当（研究代表者）：

大阪大学 大学院情報科学研究科

井上 克郎

ソフトウェア部品の収集ロボットで部品を集め、部品の利用関係をグラフ化し、部品の重要度を計算し、それに基づいて、検索結果を表示する方式の提案とプロトタイプシ
ステムの構築を行った。
また、Java プログラムに対するソフトウェア解析・検索システム(SPARS-J)の実際のソフトウェア開発における有効性、有用性の評価を行った。

(a).項目別実施内容及び項目担当者：
①

井上 克郎

（13～15 年度）システム全体の設計、全体のスケジューリングを行った。
（16 年度）

システム全体の設計、全体のスケジューリング、並びに、研究成果の取り纏めを行った。

②

楠本 真二

（13 年度）検索モデルの設計を行った。
（14 年度）ソフトウェア解析システムの設計を行った。
（15 年度）ソフトウェア解析システムの評価を行った。
（16 年度）システムの評価実験の計画、実験データの分析を行った。
③

松下

誠

（13 年度）収集システムの設計及びＧＵＩの設計を行った。
（14 年度）ソフトウェア解析システムの設計を行った。
（15 年度）ソフトウェア検索システムの設計を行った。
（16 年度）システムの運用と評価実験を実施した。
④

山本 哲男

（14 年度）ソフトウェア解析システムを試作した。
（15 年度）データ収集及びシステム全体の実装と改良を行った。
（16 年度）評価結果に基づくシステムの改良を行った。
⑤

松本 健一

（13 年度）ＧＵＩの評価を行った。
⑥

飯田

元

（13 年度）検索方法の評価を行った。
⑦

門田 暁人

（13 年度）収集システムの評価を行った。
⑧

荻原 剛志

（13 年度）圧縮展開方法の検討を行った。
⑨

David Notkin（14 年度）システム全体構成の検討を行った。
（15 年度）ソフトウェア検索内容の検討を行った。
（16 年度）ソフトウェア部品検索結果の検討を行った。
⑩

Gregor von Bochmann（14 年度）ソフトウェア解析内容の検討を行った。
⑪

Lionel C. Briand（14 年度）ソフトウェア解析手法の検討を行った。

⑫

Pankaj K. Garg

（14 年度）ソフトウェア解析システムの検討を行った。
（15 年度）ソフトウェア検索システムの設計内容の検討を行った。
（16 年度）実験結果に基づくソフトウェア解析システムの改良検討を行った。
⑬

Roel J. Wieringa（14 年度）ソフトウェア解析システムの評価方法･結果の検討を行った。
⑭

Phillip M. Johnson（16 年度）ソフトウェア部品データ収集方法の検討を行った。
⑮

Thomas Gschwind（16 年度）ソフトウェア解析手法の改良検討を行った。

(2) 第２班
研究開発題目２：

イディオムを用いたソフトウェア検索方式の研究担当（研究分担者）：

名古屋大学 大学院情報科学研究科

阿草 清滋

コード記述の中で基本機能を表現するライブラリ関数の組み合わせ抽出および検索を行うために以下の研究を行い、ライブラリ関数の組み合わせ検索システムを構築した。
① 既存のソフトウェアからライブラリ関数間のデータ依存関係およびライブラリ関数と条件式の間の制御依存関係を依存解析により抽出し，関数呼出依存グラフを抽出する手法の提案② 抽出した関数呼出依存グラフ群からライブラリを使うためのノウハウを効率良く検索するために、関数呼出依存グラフの分類および順位付け手法の提案(a).項目別実施内容及び項目担当者：
①

阿草 清滋

（14 年度）ソフトウェア検索方式の検討を行った。
（15 年度）検索結果のクラスタリング方式の検討、並びに、バターン提示方式の検討を行った。
（16 年度）コメント抽出サブシステムの検討、並びに、コメントに基づく検索
サブシステムの検討を行った。
②

山本 晋一郎（14 年度）ソフトウェア検索環境を試作した。
（15 年度）プロトタイプの実装を行った。
（16 年度）システムの実装を行い、システムの統合作業と評価を実施した。

(3) 第３班
研究開発題目３：

バイナリ形式コンポーネントの収集・解析・検索システムの開発担当（研究分担者）：

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

飯田

元

コンパイル済みの Java プログラムを対象として、プログラムの収集・解析を行い、、組みこまれているバイナリ形式コンポーネントの判別と、各コンポーネントの組込情報（部品同士の接続関係）の抽出を行うシステムを開発した。更に、コンポーネント同士の接続パターンを検索語として与え、そのパターンとの類似した接続関係を持つプログラムを抽出し、定量的な類似度に基づいた順番を付けて提示するための手法（コンポーネント結合パターン検索アルゴリズム）とシステムの開発を行った。

(a).項目別実施内容及び項目担当者：
①

飯田

元

（14 年度）バイナリ形式コンポーネントの収集・解析・検索システムの開発を行った。
（15 年度）ソフトウェア探索プロトタイプシステムの開発及び評価を実施した。
（16 年度） プロトタイプシステムを活用したソフトウェア開発手法の検討を行った。
また、コンポーネント検索システム及び開発手法の評価と改良を行った。

(4) 第４班
研究開発題目４：

ソフトウェア再利用のための分散作業支援方式の研究担当（研究分担者）：

神戸大学 大学院自然科学研究科

荻原 剛志

ソースコードにその内容を表すメタデータを付与し、同義語や類義語を定義したオントロジを参照して検索を行うシステムを提案した。ソースコード、メタデータ、およびオントロジはネットワーク上の異なるサイトに存在することができる。実際にこの枠組みに従って検索システムを作成し、オントロジの定義に従った類義語検索が実現できることを確認した。

(a).項目別実施内容及び項目担当者：
①

荻原 剛志

（14 年度） 分散作業支援方式の検討を行った。
（15 年度）セマンティック Web を利用したソフトウェア検索システムを開発した。
（16 年度）セマンティック Web を利用したソフトウェア検索システムの開発並びにシステムの評価を行った。

⑩

上嶋

明

（14 年度） 分散作業支援環境を試作した。

(5) 第５班
研究開発題目５：

ソフトウェアメトリクスに基づく中粒度解析システムの開発担当（研究分担者）：

奈良先端科学技術大学院大学 情報科学研究科

松本 健一

WWW 空間を巡回してソフトウェア資源を収集するとともに、収集したソフトウェ
ア資源の特性を計測し、検索キーや検索結果のスコアリングに利用するシステムを開発した。次に、開発したシステムの適用実験を通じて、「 検索エンジンに与えるクエリ」、「巡回ロボットの効率」、「検索結果をユーザに提示する際のランク付け」等について評価、検討した。更に、適用実験の結果を踏まえ、検索対象となるソフトウェア、検索者（ユーザ）双方のプロファイリングに基づくランク付けについて評価、検討した。

(a).項目別実施内容及び項目担当者：
①

松本 健一

（14 年度） 中粒度解析システムの検討を行った。
（15 年度）プロトタイプ適用実験の設計を行い、適用実験結果を評価した。
（16 年度）検索者（ユーザ）のプロファイリング方式の評価及び検討を行った。
②

門田 暁人

（14 年度） 中粒度解析システムの試作を行った。
（15 年度）プロトタイプ適用実験を実施した。
（16 年度）検索対象ソフトウェアのプロファイリング方式の評価、検討を行った。

(6) 第６班
研究開発題目６：

認知モデルに基づいた関連ソフトウェア自動収集提示システムの開発

担当（研究分担者）：

東京大学 先端科学技術研究センター

中小路 久美代

タスクに有益なソフトウェアプロダクトを収集するために、プログラミング環境における作業から認知的タスクモデルを構築し、自動的に関連するソフトウェアプロダ
クトを収集しユーザに提示することを目的として、その支援のための枠組みを構築した。提案した枠組みに基づき、自律的にタスクに有効な部品を検索・推薦するツールを開発し、さらに、協調フィルタリングを用いて類似部品を使用しているユーザ群から有効な部品を推薦する方法を提案した。提案手法の有効性を検証するために、開発したツールを用いて被験者実験を実施し、その結果を考察した。

(a).項目別実施内容及び項目担当者：①

中小路 久美代（14 年度） ソフトウェア自動収集提示システムの検討を行った。
（15 年度） ソフトウェア自動収集提示システム評価法の検討を行った。
（16 年度） ソフトウェア自動収集提示システム改善案の検討を行った。
②

山田 和明

（14 年度） ソフトウェア自動収集提示システムを試作した。
（15 年度） ソフトウェア自動収集提示システム評価実験を実施した。
（16 年度） ソフトウェア自動収集提示システム評価実験の結果を分析した。
①

Yunwen Ye（14 年度） ソフトウェア自動収集提示システムのユーザ観察を行った。
（15 年度） ソフトウェア自動収集提示システム評価結果の考察を行った。
（16 年度） ソフトウェア自動収集提示システムの改良を行った。

１．５

全体の総括と今後の課題

本研究は、大きな成功を収めたと考えている。この理由としては、(1) コンポーネントランクと称する、ソフトウェア部品に対する全く新なたランク付けの方式を考案し、それに基づいてシステム開発を行った。この方式は、この分野で最も権威が高く採択が困難なソフトウェア工学国際会議（ICSE)で採録され発表するとともに、特許として国内、国際出願を行っている。
(2) この方式に基づき、実用に耐えうる完成度を持った、Java プログラム部品検索システ
ム SPARS-J の開発を行い、主要部分のオープンソース化を行い、公開した。このシステ
ムが実際の会社で業務として利用されるようになった。
(3) 本研究成果である SPARS-J システムの構築やその有効性評価等について纏めた論文
が、ソフトウェア工学分野において、世界で最も権威があり、審査基準も非常に厳しいとされている米国電気電子学会の学術雑誌“IEEE Transactions on Software Engineering”に採録され、2005 年 3 月号に掲載される予定となっている。
(4) 今まで、ソフトウェア工学の分野では、計算を多用して、解析・分析することは余り行われてこなかったが、本プロジェクトの趣旨に沿って、ソフトウェア工学でも計算を重視したアプローチが可能なことを示した。

(5) 研究分担者として参加した研究者を基にして、ソフトウェア部品の解析や検索に興味を持つグループの形成ができ、今後の研究テーマとして発展が期待できる。

一方、当初の計画とはやや異なったアプローチを採用した部分もあった。

(1) 当初計画では、収集の対象として、ソフトウェアプロダクト一般と考え、各種ドキュ
メントやソースコード一般を考えていた。しかし、最終的には、ドキュメントに対する解
析の研究は行わず、ソースコードのみ、それも Java に限定したシステムを作成した。これは、対象のプロダクトの種類によって解析方法が全く異なり、それぞれの方式の確立やシステムの構築に多大な努力を要することが分かったからである。より一般的な方式やシステムができるかと期待していたが、困難であった。

(2) 当初計画では、プロダクトの自動収集を目指していた。実際、第５班では、Java プロ
グラムの自動収集の方式を検討し、プロトタイプシステムを開発した。しかし、最終シス
テムの SPARS-J には組み込まれなかった。これは、自動収集方式の困難さとスケーラビ
リティの向上に問題があったからである。プログラムは、いろいろな形で圧縮されたりパッケージ化されたりしており、自動的にその形式を判定して展開するのは容易ではなかった。また、ライセンス同意の入力が必要であったりなど、個別の対応が必要になる。また、大規模な収集エンジンの実現には、WEB の収集エンジンのような分散収集技術を導入することが必須であったが、手間の関係でこの部分の研究開発は行わなかった。

このような、当初計画との差異はあるが、研究としては、方向性は間違っておらず、多少の目標の修正を行い、最終成果に結びつけることができたと考えている。

残された課題としては、以下のものがある。

(1) ドキュメントなど他のソフトウェアプロダクトとの連携
現在の Java プログラム部品を対象としたシステムを利用している際、多くの場合、関連するドキュメントの参照が必要になる場合が多い。また、収集するプログラム部品には、関連するドキュメントが添付されている場合もある。このようなドキュメントを、プログ
ラム部品と関連付けて、容易に検索、表示する方式の検討とシステムの実装が必要になろう。

(2) 他のプログラミング言語への展開
Java 以外のプログラミング言語でも、原理的には同様なアプローチ、すなわち、部品間の利用関係を調べて、それに基づいて、コンポーネントランクを計算することは可能である。しかし、何を部品の単位にするか、何を利用関係にするかを定義することは容易ではない。例えば C の場合、関数を一つの部品にすることは可能であろうが、モジュール内の他の関数との関連が薄れ、検索結果としてその部品単体を表示することに意味があるか、問題である。この種の問題を解決し、実用的なシステムを作ることが重要であろう。

(3) SPARS-J システムの普及
現在、一つの会社で、実際に SPARS-J を実務で利用しているが、より多くの組織で、このシステムが利用されるように普及活動に努める。組織内のソフトウェア資産を
SPARS-J で管理することにより、管理コストの低減、ソフトウェア再利用率の向上、品質の向上に繋がることが期待され、これらに関する実際のデータの収集を行ってみたい。それを基に、多くの組織で SPARS-J の導入が行われるよう、広報活動、支援活動を行っていく。

(4) ソフトウェア部品の解析、検索分野の研究活動の立ち上げ
本プロジェクトに参画した研究者を中心に、この分野の研究会の立ち上げや、国際ワー
クショップの開催を行っていきたい。上述のように、ソフトウェア再利用は、生産性、品質向上の鍵であり、日本のソフトウェア産業の競争力を高める上で、非常に有効な道具になると考えている。研究や普及のコミュニティが大きくなるよう努力する。

１．６

研究開発実施体制代表研究者氏名：

井上 克郎

所属・役職：

大阪大学 大学院情報科学研究科・教授(1) 研究開発題目１（第１班）：「ソフトウェアプロダクトの収集・解析・検索システム」
Ａ．参加研究者①

井上 克郎
所属・役職：

大阪大学 大学院情報科学研究科・教授

研究開発項目：（13～15 年度）システム全体の設計、全体のスケジューリング
（16 年度）

システム全体の設計、全体のスケジューリング、
研究成果の取り纏め

②

楠本 真二
所属・役職：

大阪大学 大学院情報科学研究科・助教授

研究開発項目：（13 年度）検索モデルの設計（14 年度）ソフトウェア解析システムの設計（15 年度）ソフトウェア解析システムの評価（16 年度）システムの評価実験の計画、実験データの分析
③

松下

誠

所属・役職：

大阪大学 大学院情報科学研究科・助手

研究開発項目：（13 年度）収集システム設計・ＧＵＩの設計（14 年度）ソフトウェア解析システムの設計（15 年度）ソフトウェア検索システムの設計（16 年度）システムの運用と評価実験の実施④（平成 16 年度は、研究協力者）

山本 哲男
所属・役職：

大阪大学 大学院情報科学研究科・科学技術振興機構研究員（現、立命館大学 情報理工学部・講師、）

研究開発項目：（14 年度）ソフトウェア解析システムの試作（15 年度）データ収集及びシステム全体の実装と改良

Ｂ．研究協力者①（平成 14 年度以降は、研究分担者）

松本 健一
所属・役職：

奈良先端科学技術大学院大学 情報科学研究科・教授

研究開発項目：（13 年度）ＧＵＩの評価
②

飯田

元

（平成 14 年度以降は、研究分担者）

所属・役職：

奈良先端科学技術大学院大学 情報科学センター・助教授

研究開発項目：（13 年度）検索方法の評価
③

門田 暁人

（平成 14 年度以降は、研究分担者）

所属・役職：

奈良先端科学技術大学院大学 情報科学研究科・助手（現、助教授）研究開発項目：（13 年度）収集システムの評価

④

荻原 剛志

（平成 14 年度以降は、研究分担者）

所属・役職：

神戸大学 大学院自然科学研究科

助教授

研究開発項目：（13 年度）圧縮展開方法の検討⑤

David Notkin
University of Washington・教授

所属・役職：
研究開発項目：（14 年度）システム全体構成の検討（15 年度）ソフトウェア検索内容の検討（16 年度）ソフトウェア部品検索結果の検討⑥

Gregor von Bochmann
University of Ottawa・教授

所属・役職：
研究開発項目：（14 年度）ソフトウェア解析内容の検討⑦

Lionel C. Briand
Caleton University・助教授

所属・役職：
研究開発項目：（14 年度）ソフトウェア解析手法の検討⑧

Pankaj K. Garg
ZeeSource・取締役社長（14 年度はコンサルタント）

所属・役職：
研究開発項目：（14 年度）ソフトウェア解析システムの検討（15 年度）ソフトウェア検索システムの設計内容の検討（16 年度）実験結果に基づくソフトウェア解析システムの改良検討⑨

Roel J. Wieringa
University of Twente・教授

所属・役職：
研究開発項目：（14 年度）ソフトウェア解析システムの評価方法･結果の検討
⑩

山本 哲男

（平成 14-15 年度は、研究分担者）

所属・役職：

立命館大学 情報理工学部・講師

研究開発項目：（16 年度）評価結果に基づくシステムの改良⑪

Phillip M. Johnson
所属・役職：
研究開発項目：

University of Hawaii・教授

（16 年度）ソフトウェア部品データ収集方法の検討⑫

Thomas Gschwind
所属・役職：

Technische Universitaet Wien・講師

研究開発項目：（16 年度）ソフトウェア解析手法の改良検討

Ｃ．招聘研究協力者①②

Gregor von Bochmann
所属・役職：

University of Ottawa・教授招聘の目的：

分散型ソフトウェア解析システムの開発に係る研究促進のため

滞在先：

大阪大学 大学院情報科学研究科

滞在期間：

平成 14 年 4 月 4 日～平成 14 年 5 月 26 日

Garg K. Pankaj（第１回目の招聘）
所属・役職：

コンサルタント招聘の目的：

ソフトウェア解析システムに関する検討を行うため

滞在先：

大阪大学 大学院情報科学研究科 及び東京大学 先端科学技術センター

滞在期間：

平成 15 年 2 月 2 日～平成 15 年 2 月 10 日

（第２回目の招聘）
所属・役職：

ZeeSource・取締役社長

招聘の目的：

ソフトウェア検索システムの設計内容の検討を行うため

滞在先：

大阪大学 大学院情報科学研究科

滞在期間：

平成 15 年 5 月 18 日～平成 15 年 5 月 24 日

（第３回目の招聘）
所属・役職：

ZeeSource・取締役社長

招聘の目的：

ソフトウェア検索システムの設計内容の研究打ち合わせ

滞在先：

大阪大学 大学院情報科学研究科

滞在期間：

平成 16 年 2 月 14 日～平成 16 年 2 月 24 日

(2) 研究開発題目２（第２班）：「イディオムを用いたソフトウェア検索方式の研究」
Ａ．参加研究者氏名：
①

阿草 清滋

所属・役職：

名古屋大学 大学院情報科学研究科・教授

研究開発項目：（14 年度）ソフトウェア検索方式の検討（15 年度）検索結果のクラスタリング方式の検討、バターン提示方式の検討（16 年度）コメント抽出サブシステムの検討、コメントに基づく検索サブシステムの検討
Ｂ．研究協力者①

山本 晋一郎
所属・役職：

愛知県立大学 情報科学部・助教授

研究開発項目：（14 年度）ソフトウェア検索環境の試作（15 年度）プロトタイプの実装（16 年度）システムの実装及びシステムの統合作業と評価
Ｃ．招聘研究協力者
該当無し(3) 研究開発題目３（第３班）：「 バイナリ形式コンポーネントの収集・解析・検索システムの開発」
Ａ．参加研究者氏名：
①

飯田

元

所属・役職：

奈良先端科学技術大学院大学 情報科学センター・助教授

研究開発項目：（14 年度）バイナリ形式コンポーネントの収集・解析・検索システムの開発（15 年度）ソフトウェア探索プロトタイプシステムの開発及び評価（16 年度）プロトタイプシステムを活用したソフトウェア開発手法の検討、
コンポーネント検索システム及び開発手法の評価と改良
Ｂ．研究協力者
該当無し
Ｃ．招聘研究協力者
該当無し(4) 研究開発題目４（第４班）：「 ソフトウェア再利用のための分散作業支援方式の研究」

Ａ．参加研究者氏名：①

荻原 剛志
所属・役職：

神戸大学 大学院自然科学研究科・助教授

研究開発項目：（14 年度） 分散作業支援方式の検討（15 年度）セマンティック Web を利用したソフトウェア検索システムの開発（16 年度）セマンティック Web を利用したソフトウェア検索システムの開発
⑩

上嶋

明

所属・役職：

神戸大学 大学院自然科学研究科・助手

研究開発項目：（14 年度） 分散作業支援環境の試作
Ｂ．研究協力者
該当無し
Ｃ．招聘研究協力者
該当無し(5) 研究開発題目５（第５班）：「 ソフトウェアメトリクスに基づく中粒度解析システムの開発」
Ａ．参加研究者氏名：①

松本 健一
所属・役職：

奈良先端科学技術大学院大学 情報科学研究科・教授

研究開発項目：（14 年度） 中粒度解析システムの検討（15 年度）プロトタイプ適用実験の設計、適用実験結果の評価（16 年度）検索者（ユーザ）のプロファイリング方式の評価、検討②

門田 暁人
所属・役職：

奈良先端科学技術大学院大学 情報科学研究科・助教授

研究開発項目：（14 年度） 中粒度解析システムの試作（15 年度）プロトタイプ適用実験の実施（16 年度）検索対象ソフトウェアのプロファイリング方式の評価、検討
Ｂ．研究協力者
該当無し
Ｃ．招聘研究協力者
該当無し

(6) 研究開発題目６（第６班）：「 認知モデルに基づいた関連ソフトウェア自動収集提示システムの開発」
Ａ．参加研究者氏名：①

中小路 久美代
所属・役職：

東京大学 先端科学技術研究センター・特任教授

研究開発項目：（14 年度） ソフトウェア自動収集提示システムの検討（15 年度） ソフトウェア自動収集提示システム評価法の検討（16 年度） ソフトウェア自動収集提示システム改善案の検討②

山田 和明
所属・役職：

東京大学 先端科学技術研究センター・特任助手

研究開発項目：（14 年度） ソフトウェア自動収集提示システムの試作（15 年度） ソフトウェア自動収集提示システム評価実験の実施（16 年度） ソフトウェア自動収集提示システム評価実験の結果分析
Ｂ．研究協力者①

Yunwen Ye
所属・役職：

University of Colorado・助手

研究開発項目：（14 年度） ソフトウェア自動収集提示システムのユーザ観察（15 年度） ソフトウェア自動収集提示システム評価結果の考察（16 年度） ソフトウェア自動収集提示システムの改良
Ｃ．招聘研究協力者
該当無し

１．７

本事業により得られた研究成果(1) 外部発表等(a)原著論文※別添１のとおり(b)口頭・ポスター発表※別添１のとおり(2) 成果プログラム等
プログラム名称：SPARS－J

機能概要：
Java のソースファイルを一つの部品として、それらの集合を入力として与えると、部品の間の利用関係を解析し、それに基づいて、部品をランク付けする。ソフトウ
ェア部品の検索者は Web ブラウザを通じてキーワードを与え部品検索を行うが、検索結果はランクに沿って順位付けされ、検索者に提示される。

使用言語(データベースの場合は使用環境)：
開発言語 C,C++

サイズ(ステップ数または、モジュールサイズ。データベースの場合は、データ数)：
ステップ数：

約 88,000 行

公開している Java ライブラリ：

約 18 万クラス

備考：
利用ソフトウェア：

BerkeleyDB

Kakashinkfgettext
apache

ランク計算部分は特許申請中で、公開プログラムには含んでいない。

○研究の分野（一つのみ）
その他（ソフトウェア工学）○各プログラムの手法(複数可）
その他（プログラム依存解析、高速固有値計算法）

(3) 特許出願記録
出願日

発 明 の 名 称

発明者（寄与率）

出願人(持
分)
科学技術
振興機構
(100%)

整理番号備考2002 年
類 似 度 計 測 シ ス テ 井上克郎
１月 24 日 ム
松下 誠
山本哲男

(34%)
(33%)
(33%)

2002 年
ソ フ ト ウ ェ ア 部 品 井上克郎
2 月 18 日 の 再 利 用 性 評 価 シ 楠本真二
ステム
松下 誠
藤原 晃

(25%)
(25%)
(25%)
(25%)

科学技術
振興機構
(100%)

特願
2002040728

2002 年
ソ フ ト ウ ェ ア 部 品 井上克郎
10 月 2 日 の 重 要 性 評 価 シ ス 楠本真二
テム
松下 誠
藤原 晃

(25%)
(25%)
(25%)
(25%)

科学技術
振興機構
(100%)

PCT/JP02/
10274
（米国）
(特願
2002040728）(4) 新聞記事、雑誌記事、テレビ報道等

該当無し(5) 受賞等該当無し

特願2002015135

(6) ワークショップ、シンポジウム等（主催分）
月

日

名

称

2002年

第１回 SPARS
3 月 18 日 研究会

場

所

内

容

千里ライフ

平成１３年度研究成

サイエンス

果発表及び意見交換、センター

並びに平成１４年度

参加
人数

備

考

１５名

研究開発計画の概要
説明、研究打ち合わせ

2003年
3月18日

第２回 SPARS
研究会

東京大学
先端科学技術研究センター
セミナー室

各班の研究成果報告 ２１名
及びプロジェクト全体の進捗状況の確認、並びに、平成１５年度の研究計画の展開の
検討

けいはんな
プラザ

各班の研究成果の発 約表を行い、本プロジェ ６０名
クトの研究成果を国内外の研究者に広く知らしめるとともに、プロジェクトメンバ
ーや海外の研究者等との意見交換・研究討論等を通じて、本プロ
ジェクトの今後の研究展開等の検討を行
う

2004年
4月6日

Workshop on
Software ProductArchiving andRetrieving
System

2004年
7月21日

ソフトウェア工学
大阪大学
企業や大学のソフト ３０名
工房第４回セミナ 中之島センタ ウェア開発者等を対ー
講義室１
象に、SPARS-Jを実際－ソースコード検に利用して体験でき
索システム
るセミナーを開催し、
SAPRS-Jの利用体
実際に体験した結果
験－に基づき、SPARS-Jシ
ステムのより実用的な利用形態や発展の方向性についても意見交換を行う国際会議
PROFES2004
の併設ワー
クショップ
として開催

別添１
(ａ)原著論文発表年

2003 年

論文タイトル

掲載雑誌名
著者名
巻・号・頁
Yunwen Ye※ Programming with IEEEan Intelligent Agent Intelligent
Systems, Special
Issue on AI pride

整理番号14/13D－
1－a 発 142003 年

利 用 実 績 に 基 づ く ソ 電子情報通信学会
フ ト ウ ェ ア 部 品 重 要 論文誌 D-I,
Vol.J86-D-I,
度評価システム
No.9, 2003 年 9 月.

横森励士,
藤原 晃,
山本哲男,
松下 誠,
楠本真二,
井上克郎

15/13D－
1－a 発 16

2003 年

ソ フ ト ウ ェ ア 管 理 技 情報処理, Vol.44, 松本健一
術の現状
No.4, pp.327-333,
2003 年 4 月.

15/13D－
1－a 発 25

2004 年

電子情報通信学会
Java ソフトウェア
部 品 検 索 シ ス テ ム 論文誌 D-I,
Vol.J87-D-I,
SPARS-J
No.12,
pp.1060-1068,
2004 年 12 月.

横森励士,
梅森文彰,
西 秀雄,
山本哲男,
松下 誠,
楠本真二,
井上克郎

16/13D－
1－a 発 312004 年FCDG に 基 づ い た コ ー コンピュータソフ
トウェア Vol.21,
ディングパターン
No.4, pp.27-36,
July 2004.

渥美紀寿,
山本晋一郎,
結縁祥治,
阿草清滋

16/13D－
1－a 発 33

2004 年IEEE Transactions※Ranking
on Software
Significance ofEngineering,
Software
Components Based on Vol.31, No.3,
March 2005.
Use Relations

Katsuro Inoue, 16/13D－
Reishi1－a 発 38
Yokomori,
TetsuoYamamoto,
MakotoMatsushita,
Shinji Kusumoto(採録決定,
to appear)

(ｂ)口頭・ポスター発表
発表年月日
開催場所
2002 年
3月8日

発表タイトルソースコード間の関係を用いた再利用性
評価手法の提案(日本ﾕﾆｼｽ本社)

学会等の名称(予稿集名、掲載頁)
情報処理学会 第136 回ソフトウェア
工学研究会(情報処理学会研究報告, 2002-SE-136,
Vol.2002, No.23,
pp.155-162, 2002.)

発表者

整理番号

藤原 晃,
横森励士,
山本哲男,
松下 誠,
楠本真二,
井上克郎

13/13D－
1－a 発 1

2002 年7 月 19 日

ソフトウェア部品間の利用関係を用いた
再利用性評価手法の( 松 江 ﾃ ﾙ ｻ ･ 提案
島根県立
美術館)

ソフトウェア・シン
ポジウム 2002(ソフトウェア・シン
ポジウム 2002 論文集, pp.216-225,
July 16-19, 2002.)

横森励士,
藤原 晃,
山本哲男,
松下 誠,
楠本真二,
井上克郎

14/13D－
1－a 発 2

利用頻度に基づくソ
フトウェア部品の解析・検索システムの( 岩 手 県 立 提案
大学ｿﾌﾄｳｪｱ
情報学部)

電子情報通信学会ソフトウェアサイエンス研究会 2002 年 9
月研究集会（電子情報通信学会
技術研究報告,SS2002-17,
Vol.102, No.329,
pp.13-18, 2002.)

山本哲男,
横森励士,
松下 誠,
楠本真二,
井上克郎

14/13D－
1－a 発 3※Component Rank:
Relative
Significance Rank
for Software
Component Search

The 25th
International
Conference on
SoftwareEngineering(ICSE2003)(Proceedings of the25th International
Conference on
SoftwareEngineering(ICSE2003),
pp.14-24,
Portland, Oregon,
U.S.A., May 6-8,
2003.)

KatsuroInoue,
Reishi
Yokomori,
HikaruFujiwara,
TetsuoYamamoto,
MakotoMatsushita,
Shinji
Kusumoto

14/13D－
1－a 発 4

2002 年
9 月 20 日

2003 年5月6日(Portland
HiltonHotel,U.S.A.)

山田和明,
中小路久美代,増田 宏,
馬場靖憲

14/13D－
1－a 発 5

2003 年
1 月 31 日

動的情報を利用した 電子情報通信学会ソソフトウェア部品評 フトウェアサイエン
価手法の提案と評価 ス研究会 2003 年１
月研究集会
(鳥取環境
(電子情報通信学会
大学)
技術研究報告,SS2002-42,
Vol.102, No.617,
pp.31-36, 2003.)

藤井将人,
横森励士,
山本哲男,
井上克郎

14/13D－
1－a 発 6WWW を対象としたソ 電子情報通信学会ソフトウェア検索エン フトウェアサイエンス研究会 2003 年１
ジンの構築
月研究集会
(鳥取環境
（電子情報通信学会
大学)
技術研究報告,SS2002-47,
Vol.102, No.617,
pp.59-64, 2003.）

亀井俊之,
門田暁人,
松本健一

14/13D－
1－a 発 7

利用実績に基づくソ 第２回クリティカル
フトウェア部品検索 ソフトウェアワーク
ショップシステム SPARS-J(第２回クリティカ
ルソフトウェアワー
クショップ( Workshop of
CriticalSoftware(WOCS)予稿
集, pp.41-42, NASDA
筑波宇宙センター,
2003.）

横森励士,
山本哲男,
松下 誠,
楠本真二,
井上克郎

14/13D－
1－a 発 8

2002 年
10 月 4 日

e-Learning に お ける学習コンテンツのカスタマイズ支援( 東 北 大 学 協調フィルタリング
電気通信研 による類似ユーザの究所)
検出

人工知能学会研究会(人工知能学会研究
会資料，
SIG-IES-A202-10,
pp.57-62, October,2002.)

2003 年
1 月 30 日

2003 年3 月 17 日(NASDA
筑波宇宙ｾﾝﾀｰ)

2002 年5 月 19 日※Library
Evolution for
Reliable Software

International
Workshop on
Principles ofSoftware Evolution(IWPSE2002)(Proceedings ofInternational
Workshop on
Principles ofSoftwareEvolution,
pp.66-70, 2002.)

14/13D－渥美紀寿,
1－a 発 9結縁祥治,
山本晋一郎,
阿草清滋

XML を用いた汎用的な細粒度ソフトウェ
アリポジトリの実装

情報処理学会オブジ
ェクト指向'02 シン
ポジウム(情報処理学会
OO2002 シンポジウ
ム論文集,
pp.83-90, 2002.)

14/13D－吉田 一,
山 本 晋 一 郎 , 1－a 発 10阿草清滋

前バージョンの整合性を用いた設計復元

電子情報通信学会ソフトウェアサイエンス研究会 2003 年１
月研究集会（電子情報通信学会
技術研究報告,SS2002-45,
Vol.102, No.617,
pp.49-52, 2003.)

14/13D－
星野 康,
山 本 晋 一 郎 , 1－a 発 11
阿草清滋

セマンティック Webを利用したソフトウ
ェア検索システムの提案

電子情報通信学会ソフトウェアサイエンス研究会 2003 年 3
月研究集会(電子情報通信学会技術研究
報告, SS2002-57,
Vol.102, No.704,
pp.27-31, 2003.)

庭山直幹,
松尾景樹,
荻原剛志,
金田悠紀夫

(Orlando
World
CenterMarriottResort &Convention
Center,OrlandoFlorida,USA)
2002 年8 月 28 日
(日本未来
科学館)

2003 年
1 月 31 日(鳥取環境大学)

2003 年3 月 13 日(沖縄大学)

14/13D－
1－a 発 12

A Conceptual
Framework for
Leaning Experience( 平 安 神 宮 Design, Conference
会館)
on Creating

Conference on
Creating
Connecting and
Collaborating
through Computing(C5 2003)(Proceedings of theConference on
Creating,
Connecting and
Collaborating
through Computing(C5 2003), Kyoto,
Japan, pp.76-83,
January, 2003.)

K.Nakakoji,
K.Yamada,
Y.Yamamoto,
M.Morita

14/13D－
1－a 発 13※Java Program
Analysis Projects
in Osaka
University:
Aspect-BasedSlicing System ADAS
and
Ranked-Component
Search System
SPARS-JThe 25th
International
Conference on
SoftwareEngineering(ICSE2003)（Proceedings ofthe 25th
International
Conference on
SoftwareEngineering(ICSE2003),
pp.828-829,
Portland, Oregon,
3-10 May, 2003)

Reishi
Yokomori,
Takashi
Ishio,
TetsuoYamamoto,
MakotoMatsushita,
Shinji
Kusumoto,
KatsuroInoue

15/13D－
1－a 発 15

西 秀雄,
梅森文彰,
横森励士,
山本哲男,
松下 誠,
楠本真二,
井上克郎

15/13D－
1－a 発 172003 年
1 月 31 日

2003 年5月5日(Portland
HiltonHotel,U.S.A.)

Java ソ フ ト ウ ェ ア 電子情報通信学会ソ
部品解析・検索シス フトウェアサイエン
テム SPARS-J の構築 ス研究会 2003 年 11
月研究集会
(九州大学
(電子情報通信学会
情報基盤
技術研究報告,ｾﾝﾀｰ)
SS2003-23,
Vol.103, No.481,
pp.43-48, 2003.)
2003 年
11 月 27 日

International
Workshop on
Community-Driven
Evolution of
Knowledge
Artifacts（予稿集なし）TetsuoYamamoto,
MakotoMatsushita,
KatsuroInoue

15/13D－
1－a 発 18

2004 年3 月 15 日

Java を 対 象 と し た
ソフトウェア部品検索システム SPARS-J( 和 歌 山 県 の実験的評価
新宮地域職
業訓練ｾﾝﾀｰ)電子情報通信学会ソフトウェアサイエンス研究会 2004 年 3
月研究集会(電子情報通信学会
技術研究報告,SS2003-49,
Vol.103, No.708,
pp.19-24, 2004.)

梅森文彰,
西 秀雄,
横森励士,
山本哲男,
松下 誠,
楠本真二,
井上克郎

15/13D－
1－a 発 19

Relative
SignificanceRankfor Software( け い は ん Component Search
and Java Component
なﾌﾟﾗｻﾞ)SearchSystem
SPARS-J

Workshop on
Software ProductArchiving andRetrieving System(The Proceedings ofWorkshop on
Software ProductArchiving andRetrieving System,
pp.1-10, April 6,
2004.)

KatsuroInoue,
Reishi
Yokomori,
HikaruFujiwara,
TetsuoYamamoto,
MakotoMatsushita,
Shinji
Kusumoto

15/13D－
1－a 発 20

2003 年
12 月 16 日※Overview ofComponent Search
System SPARS-J(U niv. of
California,
Irvine )2004 年
4月6日

コーディング検査の 日本ソフトウェア科
ためのライブラリ利 学会 第 20 回大会
用パターン抽出手法 （日本ソフトウェア
科学会 第 20 回大会(愛知県立論文集, 1E-2,
大学)
2003.）
2003 年
9 月 16 日

14/13D－渥美紀寿,
山 本 晋 一 郎 , 1－a 発 21
阿草清滋

Categorization of
Library Function
Call Patterns

Workshop on
Software ProductArchiving andRetrieving System(The Proceedings ofWorkshop on
Software ProductArchiving andRetrieving System,
pp.11-20, April 6,
2004.)

Noritoshi
Atsumi,
Shinichiro
Yamamoto,
KiyoshiAgusa

2004 年
4月6日

Compositional
Pattern Search
Method for Reuse of( け い は ん Software Process
Elements
なﾌﾟﾗｻﾞ)Workshop on
Software ProductArchiving andRetrieving System(The Proceedings ofWorkshop on
Software ProductArchiving andRetrieving System,
pp.21-28, April 6,
2004.)

15/13D－Takeo
1－a 発 23
Kasubuchi,
Hiroshi
Igaki,
Hajimu Iida,
KenichiMatsumotoSource Code Search
System Using The
Knowledge( け い は ん Framework of The
Semantic Web
なﾌﾟﾗｻﾞ)Workshop on
Software ProductArchiving andRetrieving System(The Proceedings ofWorkshop on
Software ProductArchiving andRetrieving System,
pp.29-38, April 6,
2004.)

KosukeHosozawa,
TakeshiOgihara2004 年
4月6日(けいはん
なﾌﾟﾗｻﾞ)2004 年
4月6日

15/13D－
1－a 発 22

15/13D－
1－a 発 24

2004 年
4月6日

Development of a
Software SearchEngine for the( け い は ん World Wide Web
なﾌﾟﾗｻﾞ)2004 年1 月 26 日(京都ﾃﾙｻ)ユーザモデルとコミュニティモデルに基づく Web ログデータの解析手法の提案

Workshop on
Software ProductArchiving andRetrieving System(The Proceedings ofWorkshop on
Software ProductArchiving andRetrieving System,
pp.39-44, April 6,
2004.)

KenichiMatsumoto,
Akito
Monden,Toshiyuki
Kamei

15/13D－
1－a 発 26

計測自動制御学会・ 山田和明,
15/13D－
第 16 回自律分散シ
中 小 路 久 美 代 , 1－a 発 27
ステム・シンポジウ 上田完次
ム
（第 16 回自律分散システム・シンポジ
ウム資料，
pp.297-300，2004).

2004 年3 月 10 日

インタラクティブデータマイニング手法の提案- アンケート( 慶 応 義 塾 調査解析への適用 大学湘南藤沢ｷｬﾝﾊﾟｽ)

情報処理学会第 66
回全国大会（情報処理学会第66 回全国大会論文集, No.4，
pp.105-106，2004.)

山田和明,
山本恭裕,
中小路久美代,上田完次

15/13D－
1－a 発 28

Making Useful
Programming
Objects Available( け い は ん for a Programmer:
at the Right Time inなﾌﾟﾗｻﾞ)the Right Way
through the Right
Peers

Workshop on
Software ProductArchiving andRetrieving System(The Proceedings ofWorkshop on
Software ProductArchiving andRetrieving System,
pp.45-54, April 6,
2004.)Yunwen Ye,
Kazuaki
Yamada,KumiyoNakakoji

15/13D－
1－a 発 29

2004 年
4月6日

ソフトウェア部品推薦のための協調フィ
ルタリング手法の提( は こ だ て 案と実現
未来大学)

電子情報通信学会ソフトウェアサイエンス研究会 2004 年 8
月研究集会(電子情報通信学会
技術研究報告,SS2004-15,
Vol.104, No.243,
pp.7-12, 2004)

市井 誠,
山本哲男,
横森励士,
井上克郎

16/13D－
1－a 発 30

※ARIES:
Refactoring
SupportEnvironment Basedon Code Clone
Analysis

The 8th IASTEDInternational
Conference on
SoftwareEngineering andApplications(SEA
2004)（Proceedings of
the 8th IASTEDInternational
Conference on
SoftwareEngineering andApplications(SEA2004), pp.222-229,
Cambridge, USA,
November 2004.)

YoshikiHigo,
Toshihiro
Kamiya,Shinji
Kusumoto,
KatsuroInoue

16/13D－
1－a 発 32

電子情報通信学会ソ 松尾景樹,
フトウェアサイエン 宮西一徳,
ス研究会 2004 年 8 月 荻原剛志
研究集会
(電子情報通信学会
技術研究報告,SS2004-19, Vol.104,
No.243, pp.31-36,
2004.)

16/13D－
1－a 発 34

2004 年
8月3日

2004 年
11 月 11 日(MIT,Cambridge,
MA, USA)

ソースコード検索シ
ステムの試作とフリーソフトウェアへの( は こ だ て 適用実験
未来大学)
2004 年
8月3日

協同の機会の発見と 情報処理学会・第 52創出のためのインタ 回グループウェアとラクションデザイン ネットワーク研究会(情報処理学会研究
(化学会館
報告,
会議室
IPSJ-SIGGN-52,
601AB)
pp.43-48, 2004.)
2004 年5 月 20 日

倉林則之,
中小路久美代,水梨豪

16/13D－
1－a 発 35

2004 年6 月 20 日

マルチエージェント
シミュレーションのためのユーザ情報に( 名 城 大 学 基づく意思決定モデ
天白キャン ルパス)

日本機械学会ロボッ
トメカトロニクス講
演会’04(日本機械学会ロボ
ットメカトロニクス
講演会’04, CD-ROM
予稿集, 2p2-l1-29)

山田和明,
大倉和博,
上田完次

16/13D－
1－a 発 36

A multi-agent
Systems Approach to
Analyze Online( 旭 川 グ ラ Community
ン ド ホ テ Activities
ル)

The FourthInternational
Conference on the
Advanced Macaronis(ICAM'04)(Proceedings of The
FourthInternational
Conference on the
Advanced Macaronis(ICAM'04),
pp.595-600, 2004.)

Kazuaki
Yamada,KumiyoNakakoji,
Kanji Ueda

16/13D－
1－a 発 37

2004 年
10 月 5 日（注）※は、海外への論文の投稿並びに海外における口頭・ポスター発表分