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

ACT-JSTプロジェクト
ソフトウェアプロダクトの
収集・解析・検索システム
(SPARSプロジェクト)
大阪大学
井上克郎
SPARSキックオフミーティング
平成14年3月18日
ACT-JST
• 科学技術振興事業団(JST)
• 計算科学技術活用型特定研究開発推進事業(ACT)
– 計算科学技術を活用すること
• 計算機によるシミュレーションやデータベースの構築
– 研究開発において高速ネットワークを活用すること
• 研究開発に際して、高度なネットワークの活用もしくは大容量の
データ転送・解析を行うもの
– 特定分野の研究開発であること
• 物質・材料分野/生命・生体分野 /地球・環境分野/情報通信分
野/ スーパーコンピュータネットワーク型
委員
委員長 土居範久
委員
淺井 清
浦野紘平
小柳義夫
茅 陽一
京極好正
合志陽一
五條堀孝
後藤滋樹
齋藤鐵哉
諏訪正輝
田代秀一
寺倉清之
東倉洋一
能町正治
星野真弘
三浦謙一
矢川元基
慶應義塾大学 理工学部 情報工学科 教授
日本原子力研究所 理事
横浜国立大学大学院 環境情報研究院 教授
東京大学 理学部 情報科学科 教授
(財)地球環境産業技術研究機構 副理事長
独立行政法人 産業技術総合研究所 生物情報解析研究センターセンター長
独立行政法人 国立環境研究所 理事長
国立遺伝学研究所 生命情報研究センター長・教授
早稲田大学 理工学部 情報学科 教授
独立行政法人 物質・材料研究機構 理事
株式会社 日立製作所 日立研究所 嘱託
独立行政法人 産業技術総合研究所 情報処理研究部門 主任研究員
独立行政法人 産業技術総合研究所 計算科学研究部門 部門長
日本電信電話株式会社 先端技術総合研究所 所長
大阪大学大学院 理学研究科 付属原子核実験施設 教授
東京大学大学院 理学系研究科 地球惑星学科 教授
富士通株式会社 コンピュータ事業本部 技師長
東京大学大学院 工学系研究科 システム量子工学専攻 教授
他の情報通信分野の採択課題
-4次元デジタル宇宙データの構築とその応用
海部 宣男 (国立天文台 台長)
最新の観測データと大規模シミュレーション計算のデータを結びつけ、太陽系から宇宙までの空間
構造と時間発展を含む4次元宇宙の大規模デジタルデータを構築する。またこれを用い、ネット
ワーキングによる研究、教育、商用、美術など広い分野での応用に提供を図る。
-コモディティグリッド技術によるテラスケール大規模数理最適化
松岡 聡 (東京工業大学 教授)
PC技術と高速ネットワークによるコモディティグリッド技術により、テラスケールの数理
最適化を行うミドルウェア 。テストベッドを開発し、蛋白質の構造決定問題など種々の
大規模最適化問題で世界記録を達成、並びに合算で数テラフロップスを1週間以上維
持する。
-広域ビジュアルコンピューティング技術
村木 茂 (産業技術総合研究所 ボリュームグラフィックス連携研究体長)
我々が開発中の高並列計算可視化システム(VGクラスタ)を広域ネットワーク上で結
合し、一研究機関では実現困難な可視化を伴う大規模シミュレーションを可能にする
広域ビジュアルコンピューティング技術を研究する。
我々の採択課題
ソフトウェアプロダクトの収集・解析・検索システム
Software Product Archive/Analysis/Retrieve Systems
(SPARS)
文書検索 by Google
画像検索 by Google
ソフトウェア検索
by Google-like System
date
calculation
astronomy
search
Search Software for data calculation astronomy
Astronomy and numerical software
source codes
www.smart.net/~mmontes/ec-cal
Astronomy C/C++ source code
www.cg.tuwien.ac.at/~gzotti/hp/urania/
Astronomy software servers
www.portents.com/marek/pilot/
背景
• 今まで、数多くのソフトウェアが開発、利用
• 有効に蓄積され、利用されているか?
– 似たようなプログラムを、様々な所で独自に開発している
– 過去の蓄積を参考にすれば、開発の効率化
• ソフトウェアの蓄積を行って、強力な検索機能を持
つ、Googleのソフトウェア版のようなシステムが欲
しい
目標
• ソフトウェアプロダクトの収集・解析・検索システムの構築
– ソースコード、オブジェクトコード、ライブラリ、関連ドキュメント
(ソフトウェアプロダクト)をインターネット空間で収集を行う
– 収集したソフトウェアプロダクトを解析し、保存する
– 適当なキーを与えることによって、必要とするソフトウェアプロ
ダクトの情報を取り出せる
Webサイト
検索エンジン
分類・解析
インターネット
検索者
質問解析・
検索
ソフトウェア
プロダクト
アーカイブ
ソフトウェアプロダクトの収集、解析、検索システム
技術的課題(1)
• インターネット空間からのソフトウェアプロダクト収集技術
– ソースコード、オブジェクトコード、ライブラリ、ドキュメントなどの
多種のソフトウェアプロダクトの自動認識・分類方法
–
ソースコード⇔オブジェクトコード
ソースコード⇔ドキュメント
などの対応を取る方法
– 巨大なプロダクトの分割、管理方法
種類や大きさ(粒度)に応じたプロダクトモデルの構築
技術的課題(2)
• ソフトウェアプロダクトの解析・保存方法
– ドキュメント
• キーワード抽出、インデクス付け
• 使用頻度によるページランキング(googleの手法)
– オブジェクトやライブラリ
• ドキュメントとの対応による分類
• strings, nmによるキーワードの抽出
– ソースコード
• コードの類似度による分類(参考資料 CCFinder,類似度メトリクス)
• コメントやシステムコールの呼び出しパターン抽出
技術的課題(3)
• 効率的な問合せと検索手法
– プロダクトの種類、粒度の指定
– 多様な入力による問合せ
• キーワード
• ソースコード断片
• プログラム文のパターン
– インタラクティブな問合せによる絞込み
– 検索結果の表示方法
• 一部/全部、ソース/オブジェクト/特徴メトリクス、...
• ランク付けによる候補一覧
アプローチ
1. システム構築のためのモデルや手法の提案
2. モデルや手法の実証のためのプロトタイプ群の作成、
評価
3. 統合システムの構築
4. 評価
計画
平成13年度
平成14年度
平成15年度
平成16年度
モデル/手法の構築
プロトタイプ群の作成・評価
統合システムの構築
評価
大阪大学
外国人共同
名古屋大学
奈良先端大1・2
神戸大学
研究者
全体の運営
• 独自方法で、ソフトウェアの収集・解析・検索に関す
る研究を進めてもらう
• 専属の学生に、年に一度、学会発表 → 報告書へ
– 発表する時には、
• 事前に、紙一枚をJSTに送る
• ACT-JSTのクレジットを書く
• ホームページ作成予定
• JSTからの要求: 年度末の報告書と、年に一回程
度の発表会