高信頼webwareの生成技術 · 2019. 11. 15. · 支援ツール群...
TRANSCRIPT
高信頼WebWareの生成技術名古屋大学情報科学研究科
阿草 清滋
WebWareの信頼性・セキュリティ
価格.comの閉鎖
不正アクセス、プログラム改竄
94%のサイトのWebアプリケーションにセキュリティ問題
(三井物産セキュアディレクション調べ)
脆弱性
パストラバーサル URLの直接入力
表記改竄 hidden
オーバーフロー 長い文字列
コマンド(SQL)インジェクション
クロスサイトスクリプティング
セッションハイジャック
フィッシング
好ましくない出力例
不必要なファイルデッドページの消し忘れ
WebWareのセキュリティ
認証を回避したログイン
Dominator set の確認
コマンドインジェクション
コーディング規約の確認
特殊文字の処理(サニタイジング)
変数のdef-useの確認
解決策: 作成されたWebWareの十分なテストソースプログラムの解析
テストの網羅性
構成管理
目的
Webアプリケーションの開発支援を対象として研究開発を行い、IT社会の基盤となるソフトウェアを実用化し、新製品・新サービスにより経済を活性化し、研究者を養成する。
研究開発内容
Webアプリケーションの開発支援ツール
StrutsをベースとしたWebアプリケーションから以下を解析Webアプリケーション全体のページトランジション
ページ間のデータフロー
デザイナとプログラマの協調開発支援
研究概要
体制
大学
名古屋大学 検証手法
愛知県立大学 リポジトリ
和歌山大学 協調開発支援
参画企業
富士通、富士通プライムソフトテクノロジInterstage (http://interstage.fujitsu.com/)への組込み
野村総合研究所ObjectWorks (http://works.nri.co.jp/)とRidual (http://www.ridual.jp/)への組込み
人材育成
実践的ソフトウェア開発能力の取得
企業の技術者によるプロジェクト管理品質管理、ドキュメンテーション
学生のプロジェクト参画学部学生 30名 134人月
修士学生 31名 215人月
博士課程 4名 64人月
企業の研究者との共同研究開発
ニーズとシーズのマッチング
ツールの方向性に関する議論
実際のニーズに対応した問題設定
製品化レベルの品質
富士通InterstageとWebware
Webwareプロジェクトで開発したWebページ分析機能をInterstage(富士通製品)の開発機能の中で利用
Webware
名古屋大学 富士通研究所
PST(富士通プライム
ソフトウェアテクノロジ)
Interstage
Web分析機能
富士通
Web分析機能
オープン公開 品質強化利用
2005年3月
出荷開始
Webフロント開発機能バック側開発機能
・・
富士通研究所
[app.properties]タブをクリックすると、以下に示すタブページが表示されます。
Fig. エラー ! 指定したスタイルは使われていません。-1 整合性チェックツール実行画面・
[app.properties]タブページの画面イメージ
app.properties テキストボックス
ファイル選択ボタン
ファイル・ディレクトリ 選択ボタン Java ソース
リストボックス
実行ボタン クリアボタン
[個別ファイル]タブをクリックすると、以下に示すタブページが表示されます。
Fig. エラー! 指定したスタイルは使われていません。-2 整合性チェックツール実行画面・[個別フ
ァイル]タブページの画面イメージ
app.properties テキストボックス ファイル選択ボタン
ディレクトリ選択ボタン
Java ソース
リストボックス
実行ボタン クリアボタン
JSP リストボックス
画面遷移定義ディレクトリ テキストボックス
データ定義ディレクトリ テキストボックス ファイル・ディレクトリ
選択ボタン
ディレクトリ選択ボタン
ファイル・ディレクトリ 選択ボタン
(a) Java ソースのカラム ID 整合性チェック
Java ソースに記述されたカラム ID がデータ定義ファイルで定義されているかチェック
します。
(b) 未使用カラム ID チェック データ定義ファイルで定義されているカラム ID で、JSP・Java ソースのどちらにおい
ても使用されていないカラム ID をチェックします。 以下に各ソースとチェックの関係を示します。
Fig. エラー! 指定したスタイルは使われていません。-1 各ソースとチェックの関係
画面遷移定義 ファイル
データ定義 ファイル
app.properties
JSP
Java ソース
画面遷移定義のチェック
JSP ファイルの存在チェック
アクション ID の整合性チェック
BL メソッドの整合性チェック
データ定義のチェック
Java ソースのカラム ID 整合性チェック
JSP のカラム ID 整合性チェック
未使用カラム ID チェック
3.1.2 起動設定 整合性チェックツールの起動設定については「オブジェクトワークス/STUDIO インストールマニ
ュアル」を参照してください。
3.1.3 整合性チェックツールの画面イメージ
(1) 画面イメージ
整合性チェックツールは GUI 画面を利用して処理を行います。画面の説明を、次に示します。
(a) 整合性チェックツール実行画面 ccheck.exe を実行すると、整合性チェックツール実行画面が起動し、[
機能説明
3. 機能説明
この章では、オブジェクトワークスアプリケーション定義生成ツールの機能詳細、及び操作方法
について説明します。
3.6 整合性チェックツール............................................................................................................ 3-1
3.6 整合性チェックツール
この節では、オブジェクトワークスを利用したアプリケーションを構築する、各ソースファイル(画面遷移定義ファイル・データ定義ファイル・JSP・Java ソース)間の整合性をチェックする方法につ
いて説明します。
3.6.1 整合性チェックツールの概要 オブジェクトワークスを使用した Web アプリケーションの開発では、アプリケーションをコンパ
イル・デプロイ・実行した後、実行結果やログを見ないとエラーの検出ができません。 整合性チェックツールを利用すると、コーディング終了時に各ソースファイル(画面遷移定義ファ
イル・データ定義ファイル・JSP・Java ソース)間の整合性をチェックすることができます。
フロント EAI プラットフォーム「オブジェクトワークス」
オブジェクトワークス/STUDIO 操作マニュアル
野村総合研究所オブジェクトワークス操作マニュアル(一部)
アプリケーション選択画面 個別ソース選択画面
実行中画面
整合性チェックの実施
• ヘテロな環境
– 複合要素: client, server, DB, WSDL,BPEL...– 複合言語: コンテンツ (XML, XSLT, HTML, CSS, ...)
サーバサイド (Servlet, JSP, PHP, ASP, Perl, ...)クライアントサイド (JavaScript, …)
• 動的な結合⇒ テストの難しさ
Java
JSP
PHP
Perl
ASP
HTML
WebWareの特徴
• Repository centered な開発環境
多言語細粒度ソフトウェア・リポジトリコンテンツ、サーバサイド、クライアントサイドの統合管理
• インスペクションシステムテストケース生成・検証系
• 協調作業支援デザイナとエンジニア間の制約検査
• 既存開発環境との連携
リポジトリ テストケース
WebWare開発環境
WebWare 解析技術
静的 動的(クライアント) 動的(サーバサイド)
静的
動的
解析技術
対象コンテンツ
Java解析器(JParse, JavaML, JavaMarkup)
デッドリンク検査
構造カバレッジ
テストケース生成整合性検査
構造表示(Ridual)
デッドリンク検査(W3C Link Checker)
JSP動作検証(TagUnit)
回帰テスト支援(Rational Robot, Http Unit)
サーバサイドテスト(Cactus)
HTML チェッカ(Tidy)
ユーザビリティ検査(アクセシビリティ・
アシスタンス)
リポジトリ
サーバサイド
クライアントサイド
テスト支援系
1年目 2年目 3年目 4年目 5年目
作成支援
モデル
言語間の対応関係
1年目 2年目 3年目 4年目 5年目
ビジネスロジック+DB
整合性チェッカ
静的ページ
ベンダ製品との統合
視覚化ユーザビリティ
評価
WebWareモデル
進捗状況
バックエンド系との連携
ページ遷移モデル
JSP
レンダリング有
動的サイトのロジック解析
レンダリング無
JavaScript
データフローモデル
JSPとJavaScript
動的ページ
カバレッジ +テストデータ生成
JSF, PHP, ...
CSS,Flash, ...
JSPとServlet
支援ツール群
WebWareの静的検査ツール
リンク解析dangling anchor, ghost page : 作成済み
dominator, dominator set : 開発中shortest path, path length : 作成済み
def-use解析 : 開発中
WebWareの動的検査ツール
ページカバレッジ : 開発中
テストケース生成 : 作成済み
デザイナとプログラマの協調開発支援
Webサイトエディタ : 開発中
WebWare解析ツール
<整合性>構成定義とデプロイメントの対応
<ページトランジション>Webアプリケーションのページとその遷移関係
<データフロー>画面間のデータの流れ、分岐情報、データの依存関係
<カバレッジ(テスト網羅率)測定>半自動で生成したテスト項目に対するカバレッジ(テスト網羅率)
設計
実装
テスト
保守
JSPJSP
HTMLHTML
HTML
JavaJava
Java JavaScript
JavaScript
struts-configWebアプリケーション
のソースコード群
主にWebWare開発のテストフェーズを支援Webアプリケーションのソースコード群を直接解析既存Webアプリケーションにも適用可能
WebWare解析・表示ツール
解析
web.xml
テスト支援ツール
実行結果
テストレポート
作成
テスト実行
従来のWeb開発: JSP単体テスト
JSP
テストケース
テスト結果
テストレポート
各種定義XML
凡例
①: JSP、各種定義XMLを参照し、テストケースを作成
テストケース作成
テスト担当者作業
②: ブラウザから
テストケースを入力しテストを実行
④: テスト結果を
集計、分析しテストレポートを作成
合否判定
③: 実行結果の合否判定
テスト実行
テストケース生成
④: テスト結果を
集計、分析しテストレポートを作成カバレッジ測定ツールによりサポート
③: 実行結果の合否判定
エディタによりサポート
①: 1. JSPを解析し、データ
項目を抽出2.定義情報からデータ
項目の情報を抽出3.抽出された情報を基
に各項目に対するテストケース自動生成
テスト支援ツールを利用したJSP単体テスト
テスト支援ツール機能
②: 1. テストケースからテスト実行スクリプト生成2.テストの自動実行(市販製品使用)、
結果の保存
テスト支援システム
技術内容JSPの静的解析結果と各種定義情報を基にテストケースの自動生成生成されたテストケースを効率良く閲覧・編集する機能(テストケースエディタ)テスト結果を管理し、テストケースとリンクする機能(テストリポジトリ)
成果JSP単体テスト支援フレームワーク
テストケースの自動生成・編集ツールテスト実行スクリプト自動生成および市販ツールとの連携による自動実行テストカバレッジ集計機能ツール
効果単体テスト(JSP)の作業量削減連結テストの障害密度減少
WebWare整合性チェックツール<従来>
<ツール完成後>
各種定義XML
Java
JSP
コンパイル
ClassWeb Application Server
デプロイ
実行結果
ログ等
エラーの発見
各種定義XML
JSP
Java
整合性チェックツール エラー情報
コーディング終了時点でエラー検出
コンパイル->デプロイ->実行の過程の後エラーを発見
整合性チェックツール
整合性チェックルーチン
ソース解析ルーチン画面遷移定義
データ定義
Javaソース
JSPソース
画面遷移定義情報取得ルーチン
データ定義情報取得ルーチン 画面遷移定義
チェックルーチン
データ定義チェックルーチン
ErrorWarning
メッセージ
整合性チェックツールの構成
Sapid (名大開発技術)
ソースコード解析機
ソフトウェアリポジトリ
(XML)
低レベルAPI
JavaScriptソース
Java情報取得ルーチン
JSP情報取得ルーチン
JavaScript情報取得ルーチン
WebWareでの特徴的解析ツール
WebWare開発のテストに必要な工数の大幅削減
<ページトランジション>Webアプリケーションで使用されている動的ページを含む全ページの関係
<データフロー>クライアントからサーバへなデータの流れ、不当なデータ(値の範囲など)
<カバレッジ(テスト網羅率)測定>テストの終了基準テストケースの設定基準検出
ソースコード群から画面遷移データを抽出するため、開発時だけでなく既存アプリケーションの保守時にも利用可リファクタリングなどで保守性の向上
ソースコードカバレッジの測定
●C0:命令網羅率
コード内の全てのステートメントを少なくとも1回は実行①→②→③
●C1:分岐網羅率
コード内の全てのブランチを少なくとも1回は実行①→②→③、①→④→⑤
●C2:経路網羅率
コード内の全ての条件を少なくとも1回は実行①→②→③、①→②→⑤、①→④→③、①→④→⑤
カバレッジ[%] = テストで実施した実行系列の数
想定実行系列の総数×100
A
B
C
E
D
①
② ④
⑤③
バックで動くソフトウェアの網羅率
ページカバレッジの測定
カバレッジ[%] = テストで実際に出力を得たページ数
生成されうるページの総数× 100
JSPファイルの論理構造に着目してページを定義
未通過ページを確認
index.jsp
error.jsp
login.jsp
menu.jspcontract.jsp
detail.jsp
logout.jsp
balance.jsp
ページを有限個に分類
生成されうる全ページ
●ページカバレッジ:少なくとも1回はページを出力
遷移要素カバレッジの測定
カバレッジ[%] = テストで使用した遷移要素の数
抽出された遷移要素の総数× 100
ページ間のリンクを辿った割合
抽出された全遷移要素
●遷移要素カバレッジ:少なくとも1回は遷移要素を使用
ページ間の遷移要素を抽出
テスト項目の生成支援(半自動)ソースコード群からテスト項目を半自動で生成
・ソースコードカバレッジ・ページカバレッジ WebWareのC0・遷移要素カバレッジ WebWareのC1
JSPJSP HTMLHTMLHTML
JavaJavaJava JavaScriptJava
Script
web.xml
Webアプリケーションの
ソースコード群 テスト項目テスト項目
ソースコードカバレッジ
ページカバレッジ
遷移要素カバレッジ
テスト項目テスト項目
テスト項目テスト項目テスト項目テスト項目
テスト項目テスト項目テスト項目テスト項目struts-config
基本ページ
JSPの制御構造を基に、基本ページを抽出
e1if ( ) {
e2
e3
e4
e5
while() {
}} else {
}
e5
e1e2
e3
e1e2
e5
e1e4
e5
B1
B2
B3
利用ブロックブラウザの画面
B1
B2
1つのJSPから生成
B3
リンクに基づくページの定義
観点ページの遷移先が同じ場合、同一視できる
例 : {B1, B2, B3} は同じ
解析基準aやformなどの遷移要素
ページからの遷移先で分類
用途リンクチェックの目的で利用
登録ページ
遷移に関しては同じ
B1
B2
B3
P1
ページ数 : 1
観点
ページの構造の違い
例 : {B1, B3} と {B2}
解析基準
table などの構造を見る
用途
table などの配置
ページの構造
表が存在するため他と異なる
B1
B2
B3
P1
P1
P2
タグ要素に基づくページの定義
ページ数 : 2
観点
色や表示される文字
例 : B1~B3 それぞれ違う
解析基準
tableのカラム名やテキスの色・大きさ
用途
実際にページに表示される文字の位置、内容まで細かく調べたい場合
B1
B2
B3
色、文字列が異なる
P1
P3
P2
タグ属性に基づくページの定義
ページ数 : 3
Webサイトの視覚化
Webサイト解析ツール
document.write()により出力されるHTMLの抽出JavaScriptにより生成されるURLの抽出
JavaScript解析器
API
JavaScript解析
Webサイト
HTML解析
JavaScriptの抽出
情報の視覚化
クライアントサイドの動的ページを対象とした静的解析JavaScriptにより生成されるHTMLJavaScriptにより変更されるプロパティページからの遷移先の変更ページ内で利用されるリソースの変更
Ridual
XML/JavaベースのWebサイトエディタ
Webサイトの構造をGUIで記述可能
JavaScriptにより生成されるURLの抽出
src, href等のプロパティに代入されるURLwindow.open()の引数に与えられるURL変数を介したURLの設定にも対応
設計に合わせたHTMLテンプレートの自動生成
サイト内のページ情報やリソース/リンクの関係を表示
1
インターネット上の知識集約を可能にするプラットフォーム構築技術
早稲田大学村岡洋一
2Internet Software Consortium(http://www.isc.org/)のInternet Domain Survey 及びNetcraft社(http://www.netcraft.co.uk/)のWWW Server Surveyの公開データから作成
インターネットに接続するコンピュータ台数とWWWサーバ数の推移
0
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
Jul-93
Jan-94
Jul-94
Jan-95
Jul-95
Jan-96
Jul-96
Jan-97
Jul-97
Jan-98
Jul-98
Jan-99
Jul-99
Jan-00
Jul-00
Jan-01
Jul-01
Jan-02
Jul-02
Jan-03
Jul-03
Jan-04
Jul-04
千万
0
10
20
30
40
50
60百万
コンピュータ台数
WWWサーバ台数コンピ
ュータ台数
Webサ
ーバ台数
研究背景(1)
3
研究背景(2)
5~10年後の社会5~10年後の社会
読売新聞2005/4/6の記事:
次はこれが流行るかな?
わが社に対する消費者の印象
は?
この商品に今から注目しておいたほうがよさそうだ
社会的ニーズの高まり- インターネット上の情報「瞬時」解析
わが社の情報はもれていない
か?
5~10年後の社会5~10年後の社会
読売新聞2005/4/6の記事:
次はこれが流行るかな?
わが社に対する消費者の印象
は?
この商品に今から注目しておいたほうがよさそうだ
社会的ニーズの高まり- インターネット上の情報「瞬時」解析
わが社の情報はもれていない
か?
4
研究目的と達成目標
①リアルタイム(新鮮度1ヶ月以内)でWeb情報を収集。②全世界の情報(2003年末時点の119億URLを想定)を収集。③全世界のWeb情報からの知識フィルタリングを実現。
①リアルタイム(新鮮度1ヶ月以内)でWeb情報を収集。②全世界の情報(2003年末時点の119億URLを想定)を収集。③全世界のWeb情報からの知識フィルタリングを実現。
プロジェクトの成果
①利用者の要求に応じた知識フィルタリング情報をWeb Watchサービスとして提供
②1次情報提供による本分野の研究活性化、さらには2次ビジネスへの展開
①利用者の要求に応じた知識フィルタリング情報をWeb Watchサービスとして提供
②1次情報提供による本分野の研究活性化、さらには2次ビジネスへの展開
成果普及・実用化
インターネット情報「瞬時」収集技術開発全世界の全情報のリアルタイム収集新鮮度1ヶ月以内、世界最大・最速の収集を実現
インターネット情報「瞬時」収集技術開発全世界の全情報のリアルタイム収集新鮮度1ヶ月以内、世界最大・最速の収集を実現
解析技術の開発
コンテンツ解析技術
収集技術の開発
融合 知識フィルタリング技術開発全世界のインターネット情報を対象に
利用者の要求に応じた解析を行う世界初のデータマイニング技術を実現
知識フィルタリング技術開発全世界のインターネット情報を対象に
利用者の要求に応じた解析を行う世界初のデータマイニング技術を実現
コンテンツ収集技術
EIP
サーバ
企業内の情報にインターネット上の情報を組合わせることで、ビジネスに役立つ知識 が 次 々 手 に 入る!!
企業内DB
イ ン タ ーネット
顧客企業ごとに情報をカスタマイズして提供
知識フィルタリングサーバ
企業情報
ニュース
Eコマース
掲示板
クライアント企業
イントラネット
営業状況
保守履歴
従業員
EIP: Enterprise Information Portal
インターネット情報「瞬時」収集サーバ
EIP
サーバ
企業内の情報にインターネット上の情報を組合わせることで、ビジネスに役立つ知識 が 次 々 手 に 入る!!
企業内DB
イ ン タ ーネット
顧客企業ごとに情報をカスタマイズして提供
知識フィルタリングサーバ
企業情報
ニュース
Eコマース
掲示板
クライアント企業
イントラネット
営業状況
保守履歴
従業員
EIP: Enterprise Information Portal
インターネット情報「瞬時」収集サーバ
技術課題①「瞬時」収集・更新ページ予測・分散収集自動化
②知識フィルタリング・広域分散環境下でのデータマイニング実現
技術課題①「瞬時」収集・更新ページ予測・分散収集自動化
②知識フィルタリング・広域分散環境下でのデータマイニング実現
①リアルタイム(新鮮度1ヶ月以内)でWeb情報を収集。②全世界の情報(2003年末時点の119億URLを想定)を収集。③全世界のWeb情報からの知識フィルタリングを実現。
①リアルタイム(新鮮度1ヶ月以内)でWeb情報を収集。②全世界の情報(2003年末時点の119億URLを想定)を収集。③全世界のWeb情報からの知識フィルタリングを実現。
プロジェクトの成果
①利用者の要求に応じた知識フィルタリング情報をWeb Watchサービスとして提供
②1次情報提供による本分野の研究活性化、さらには2次ビジネスへの展開
①利用者の要求に応じた知識フィルタリング情報をWeb Watchサービスとして提供
②1次情報提供による本分野の研究活性化、さらには2次ビジネスへの展開
成果普及・実用化
①利用者の要求に応じた知識フィルタリング情報をWeb Watchサービスとして提供
②1次情報提供による本分野の研究活性化、さらには2次ビジネスへの展開
①利用者の要求に応じた知識フィルタリング情報をWeb Watchサービスとして提供
②1次情報提供による本分野の研究活性化、さらには2次ビジネスへの展開
成果普及・実用化
インターネット情報「瞬時」収集技術開発全世界の全情報のリアルタイム収集新鮮度1ヶ月以内、世界最大・最速の収集を実現
インターネット情報「瞬時」収集技術開発全世界の全情報のリアルタイム収集新鮮度1ヶ月以内、世界最大・最速の収集を実現
解析技術の開発
コンテンツ解析技術
収集技術の開発
融合 知識フィルタリング技術開発全世界のインターネット情報を対象に
利用者の要求に応じた解析を行う世界初のデータマイニング技術を実現
知識フィルタリング技術開発全世界のインターネット情報を対象に
利用者の要求に応じた解析を行う世界初のデータマイニング技術を実現
コンテンツ収集技術
EIP
サーバ
企業内の情報にインターネット上の情報を組合わせることで、ビジネスに役立つ知識 が 次 々 手 に 入る!!
企業内DB
イ ン タ ーネット
顧客企業ごとに情報をカスタマイズして提供
知識フィルタリングサーバ
企業情報
ニュース
Eコマース
掲示板
クライアント企業
イントラネット
営業状況
保守履歴
従業員
EIP: Enterprise Information Portal
インターネット情報「瞬時」収集サーバ
EIP
サーバ
企業内の情報にインターネット上の情報を組合わせることで、ビジネスに役立つ知識 が 次 々 手 に 入る!!
企業内DB
イ ン タ ーネット
顧客企業ごとに情報をカスタマイズして提供
知識フィルタリングサーバ
企業情報
ニュース
Eコマース
掲示板
クライアント企業
イントラネット
営業状況
保守履歴
従業員
EIP: Enterprise Information Portal
インターネット情報「瞬時」収集サーバ
技術課題①「瞬時」収集・更新ページ予測・分散収集自動化
②知識フィルタリング・広域分散環境下でのデータマイニング実現
技術課題①「瞬時」収集・更新ページ予測・分散収集自動化
②知識フィルタリング・広域分散環境下でのデータマイニング実現
Web上の全情報を効率よく収集しユーザの望む形式で提供するシステムの開発
5
達成目標の位置づけ
Jan-98
Jul-98
Jan-99
Jul-99
Jan-00
Jul-00
Jan-01
Jul-01
Jan-02
Jul-02
Jan-03
Jul-03
Jan-04
Jul-04
Jan-05
0
20
40
60
80
100
120Webページ数(億)
実際のWebページ数推移
(参考)Googleのインデックス済ページ数
本プロジェクト
実際のWebページ数,Google,本プロジェクトWebページ収集の比較
ITリセッションによる伸び率低下
Jul-05
Jan-06
2003年度10億達成済
2004年度50億達成済
2005年度119億達成予定
6
年度計画
平成15年度 平成16年度 平成17年度 平成18年度 平成19年度
①インターネット情報「瞬時」収集技術の開発
②知識フィルタリング技術の開発
③①及び②の融合
④実証実験
改良
改良
・119億URL収集完了→世界一(商用システムに比較し約3年先行)
・3年間の先行期間活用によるビジネス化
・分散型Webクローラ開発(着手)・国内3箇所にクローラ設置し運用開始
・データ分析アルゴリズムの開発(着手)
・収集(新鮮度1ヶ月以内)→解析の融合
・ビジネス化を前提とした解析対象を選択し実証実験
10億 50億 119億
・分散型クローラ設置(5箇所)・10億URLレベルでの解析
7
実施体制
(1)インターネット情報「瞬時」収集技術の開発(1)インターネット情報「瞬時」収集技術の開発
(2)知識フィルタリング技術の開発(2)知識フィルタリング技術の開発
プロジェクトリーダ:村岡洋一(早大)プロジェクトリーダ:村岡洋一(早大)
サブリーダ:村岡洋一(早大)サブリーダ:村岡洋一(早大)
サブリーダ:山名早人(早大)サブリーダ:山名早人(早大)富士通株式会社/富士通研究所部長 松井くにお
富士通株式会社/富士通研究所部長 松井くにお
NTTコミュニケーション科学基礎研究所/NTT未来ねっと研究所主任研究官 菅原俊治
NTTコミュニケーション科学基礎研究所/NTT未来ねっと研究所主任研究官 菅原俊治
国立情報学研究所(平成16年度~)教授 大山敬三
国立情報学研究所(平成16年度~)教授 大山敬三
長岡技術科学大学(平成17年度~)教授 三上喜貴
長岡技術科学大学(平成17年度~)教授 三上喜貴
アクセラテクノロジ株式会社社長 進藤達也
アクセラテクノロジ株式会社社長 進藤達也
株式会社早稲田情報技術研究所(平成17年度~)社長 加藤浩一
株式会社早稲田情報技術研究所(平成17年度~)社長 加藤浩一
共同研究:分散型クローラ開発・ビジネス展開
共同研究:負荷分散方式
共同研究:国内のWeb情報収集
共同研究:海外のWeb情報収集
インターネット上の知識集約を可能にするプラットフォーム構築技術インターネット上の知識集約を可能にするプラットフォーム構築技術
得意分野:クローラ技術
得意分野:JPドメインWeb収集
得意分野:マイナーな言語のWebページ収集
得意分野:負荷分散
共同研究:EIP開発・ビジネス展開
共同研究:収集1次情報の新ビジネス展開
得意分野:EIP解析
得意分野:フィルタリング技術
企業 大学 平成16年度以降に追加
Web収集技術・ノウハウ集約のため、国内主要拠点と連携強化
Web情報利用によるさらなるビジネス展開を目指して連携
早稲田大学
早稲田大学
分散収集技術
再収集技術
大規模DM技術
学生派遣
学生派遣
データ共
有
データ共有
8
研究開発成果(1)-a
(1)世界最大のアーカイブ構築技術
分散収集技術:
早大が持つ基本アルゴリズムを基に2004年
までに改良+収集拠点自動選択技術(2003)
世界最大のWebデータ収集
Jan-98
Jul-98
Jan-99
Jul-99
Jan-00
Jul-00
Jan-01
Jul-01
Jan-02
Jul-02
Jan-03
Jul-03
Jan-04
Jul-04
Jan-05
0
20
40
60
80
100
120Webページ数(億)
実際のWebページ数推移
(参考)Googleのインデックス済ページ数
本プロジェクト
実際のWebページ数,Google,本プロジェクトWebページ収集の比較
ITリセッションによる伸び率低下
Jul-05
Jan-06
2003年度10億達成済
2004年度50億達成済
2005年度119億達成予定
Jan-98
Jul-98
Jan-99
Jul-99
Jan-00
Jul-00
Jan-01
Jul-01
Jan-02
Jul-02
Jan-03
Jul-03
Jan-04
Jul-04
Jan-05
0
20
40
60
80
100
120Webページ数(億)
実際のWebページ数推移
(参考)Googleのインデックス済ページ数
本プロジェクト
実際のWebページ数,Google,本プロジェクトWebページ収集の比較
ITリセッションによる伸び率低下
Jul-05
Jan-06
2003年度10億達成済
2004年度50億達成済
2005年度119億達成予定
ロボットセット5ロボットセット4ロボットセット3ロボットセット2
インテグレーションサーバインテグレーションサーバ
起点URLリスト
メタデータ
収集制御サーバ収集制御サーバ
DBサーバDBサーバ ホスト情報取得サーバホスト情報取得サーバ
担当分起点URL担当分管理リスト
メタ情報+担当外リンクURL
収集状況
起動制御起動制御
担当分管理リスト
収集状況収集状況 表示
インターネット
インテグレーションサーバマシン
収集プロセス収集プロセス
DB
ロボットセット1
ロボットセット5ロボットセット5ロボットセット4ロボットセット4ロボットセット3ロボットセット3ロボットセット2
インテグレーションサーバインテグレーションサーバ
起点URLリスト
メタデータ
収集制御サーバ収集制御サーバ
DBサーバDBサーバ ホスト情報取得サーバホスト情報取得サーバ
担当分起点URL担当分管理リスト
メタ情報+担当外リンクURL
収集状況
起動制御起動制御
担当分管理リスト
収集状況収集状況 表示
インターネット
インテグレーションサーバマシン
収集プロセス収集プロセス
DB
ロボットセット1
Which Route ?
Throughput?Throughput? Throughput?
Throughput?
start end
Which Route ?
Throughput?Throughput? Throughput?
Throughput?Throughput?Throughput? Throughput?
Throughput?
start end
最適な収集拠点を自動選択
50CPUを超えるクローラ間で重複収集の除去
インターネット情報「瞬時」収集技術
Webページの分散協調収集技術 - 研究レベルで世界No.1(平成17年度末で50億URL)
9
研究開発成果(1)-b
Webページ収集経過
3拠点で分散収集開始
2拠点追加し5拠点で分散収集開始
50億URL収集を達成(平成17年度末)
10
研究開発成果(1)-c
分散協調型Webクローラ
ロボットセット5ロボットセット4ロボットセット3ロボットセット2
インテグレーションサーバインテグレーションサーバ
起点URLリスト
メタデータ
収集制御サーバ収集制御サーバ
DBサーバDBサーバ ホスト情報取得サーバホスト情報取得サーバ
担当分起点URL担当分管理リスト
メタ情報+担当外リンクURL
収集状況
起動制御起動制御
担当分管理リスト
収集状況収集状況 表示
インターネット
インテグレーションサーバマシン
収集プロセス収集プロセス
DB
ロボットセット1
ロボットセット5ロボットセット5ロボットセット4ロボットセット4ロボットセット3ロボットセット3ロボットセット2
インテグレーションサーバインテグレーションサーバ
起点URLリスト
メタデータ
収集制御サーバ収集制御サーバ
DBサーバDBサーバ ホスト情報取得サーバホスト情報取得サーバ
担当分起点URL担当分管理リスト
メタ情報+担当外リンクURL
収集状況
起動制御起動制御
担当分管理リスト
収集状況収集状況 表示
インターネット
インテグレーションサーバマシン
収集プロセス収集プロセス
DB
ロボットセット1
WWWサーバb
収集拠点 A
収集拠点 B
収集拠点 C
WWWサーバaWWW
サーバaWWWサーバa
WWWサーバa
WWWサーバc
WWWサーバc
WWWサーバc
WWWサーバc
WWWサーバc
早稲田大学
NTT未来ねっと研究所
IDC
WWWサーバbWWWサーバb
収集拠点 A
収集拠点 B
収集拠点 C
WWWサーバaWWWサーバaWWW
サーバaWWWサーバa
WWWサーバaWWWサーバa
WWWサーバaWWWサーバa
WWWサーバcWWWサーバc
WWWサーバcWWWサーバc
WWWサーバcWWWサーバc
WWWサーバcWWWサーバc
WWWサーバcWWWサーバc
早稲田大学
NTT未来ねっと研究所
IDC
収集拠点 C
NII収集拠点 D
収集拠点 C
早稲田大学
収集拠点 E
11
研究開発成果(2)
インターネット情報「瞬時」収集技術
再収集技術 – 世界No.1の再収集効率(全Webページの26%収集で全更新ページの76%をカバー)
(2)再収集効率化技術
全収集ページの割合更新
ページに対する収集
割合
従来手法(幅優先収集)
従来手法(ランダム収集)
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0% 20% 40% 60% 80% 100%
提案手法A
提案手法B
最適値(完璧に更新ページのみを収集できた場合)(1ヶ月後の更新Webページは平均8%)
全収集ページの割合更新
ページに対する収集
割合
従来手法(幅優先収集)
従来手法(ランダム収集)
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
0% 20% 40% 60% 80% 100%
提案手法A
提案手法B
最適値(完璧に更新ページのみを収集できた場合)(1ヶ月後の更新Webページは平均8%)
再収集効率化技術:
本プロジェクトで2003にアルゴリズム
開発(早大)
方法A 方法B
トップページ(例:/index.html)
リンク
/foo
/foo/foo2
/foo/foo2/foo3
更新ページ
未更新ページ
更新確認用ページ
収集ページ
方法A 方法B
トップページ(例:/index.html)
リンク
/foo
/foo/foo2
/foo/foo2/foo3
更新ページ
未更新ページ
更新確認用ページ
収集ページ
更新ページを収集することなくリンク構造から予測。これにより収集効率を世界一に。
12
研究開発成果(3)-a
知識フィルタリング技術
(3)世界最大のWeb情報解析と知識発見
大規模Webマ
イニング技術:
・Lunascapeによるユーザ思考情報取得解析技術(2003)
・Webペ
ージの自動分類(クラスタリング)技術(2003-2004)
・大
規模データに対する高速マイニング技術(2003-2004)
Webページ間の類似度をリンク関係のみで表現しグループ化
ユーザのWeb閲覧状況自動解析
0
20
40
60
80
100
120
解析規模の比較
億 従来(日本IBMアルマデン研究所)(2004年)
e-Society(2005年度末)
e-Society(終了時)
0
20
40
60
80
100
120
解析規模の比較
億 従来(日本IBMアルマデン研究所)(2004年)
e-Society(2005年度末)
e-Society(終了時)
• 処理前• ページ特徴値作成モジュール
• 処理後
• 処理前• ページ特徴値作成モジュール
• 処理後
Page qn-1
Fn-1
Fn-2
F0
Seed s Page pn
Sim(pn,Fn-1)
Dis(pn,Fn-1)
Dis(qn-1,Fn-
2)
・・・
Page qn-1
Fn-1
Page qn-1Page qn-1
Fn-1
Fn-2Fn-2
F0
Seed s
F0F0
Seed sSeed s Page pnPage pn
Sim(pn,Fn-1)
Dis(pn,Fn-1)
Dis(qn-1,Fn-
2)
・・・
a complete F-list : a list of all 1-itemsets descending order of supports.
k=n1 TDB F-list FP-treeTop n1
frequent patterns
k=n2 FP-treeTop n2
frequent patterns
k=n3 FP-tree Top n3frequent patterns
TF2P-growth (our model)Generate complete F-list
k=n1 TDB F-list FP-treeTop n1
frequent patterns
k=n2 FP-treeTop n2
frequent patterns
k=n3 FP-tree Top n3frequent patterns
TF2P-growth (our model)
k=n1 TDB F-list FP-treeTop n1
frequent patterns
k=n2 FP-treeTop n2
frequent patterns
k=n3 FP-tree Top n3frequent patterns
TF2P-growth (our model)Generate complete F-list
Stage 1: FP-tree construction
Border_sup
Stage 2 : pattern generation
Boundary_sup
大規模データに対する高速マイニング
リンク情報のみで精度を保ったまま解析=高速化達成
解析規模世界No.1
13
研究開発成果(3)-b
知識フィルタリング技術
分散型高速データ解析技術データマイニングの高速化(分散化、レスポンスタイム改善)技術(世界最大規模データを対象としたマイニングトータル時間短縮)
Webページからの有用情報抽出技術知識、トピックス抽出技術(世界最大規模データを対象とした解析)
Lunascape(ブラウザ)の画面Lunascape(ブラウザ)の画面
Web視聴率解析機能、Webサービス
サポート機能付きタブWebブラウザ
日本で約10万人ユーザ
総ダウンロード数約300万(累計)
14
研究開発成果(3)-c
Lunascape からのユーザ情報の利用
Servers
Self Organizing Grid
Calculation
情報送信
自己組織化
推薦情報
15
試作システム(デモ)ー製品評判調査
1. 自動車メーカーのホームページを表示2. 収集したサイトのリンク関係を手が
かりに、評判サイトを表示
3. リンク関係を手がかりに、競合
メーカー・製品サイトを表示
1. 自動車メーカーのホームページを表示2. 収集したサイトのリンク関係を手が
かりに、評判サイトを表示
3. リンク関係を手がかりに、競合
メーカー・製品サイトを表示
研究開発成果(3)-d
16
成果普及への取り組み(1)
開発技術の利用イメージ
サービス提供基盤
検索
エンジン
GPSと連携して
カーナビへ近辺情報配信
業務関連情報をトピックごと参照
一次情報アーカイブ 二次知識ベース
internet
Webページ/
ニュース
BLOG
BBS
アグリゲーション
時系列
モニタ
自動
分類
自動
抽出
リンク
分析モニタリング、
マーケティングに活用
GPSと連携し
て近辺情報をケータイへ
配信
ニーズ毎の
情報
アグリゲータ
クローラー
データセンッタ
Archive
アーカイブと
連携して学習補助教材とし
て利用
サービス提供基盤
検索
エンジン
GPSと連携して
カーナビへ近辺情報配信
業務関連情報をトピックごと参照
一次情報アーカイブ 二次知識ベース
internetinternet
Webページ/
ニュース
BLOG
BBS
アグリゲーション
時系列
モニタ
自動
分類
自動
抽出
リンク
分析モニタリング、
マーケティングに活用
GPSと連携し
て近辺情報をケータイへ
配信
ニーズ毎の
情報
アグリゲータ
クローラー
データセンッタ
Archive
アーカイブと
連携して学習補助教材とし
て利用
17
成果普及への取り組み(2)
ユーザーユーザー
インターネット掲示板HP(Web・携帯向け)
掲示板HP(Web・携帯向け)
メルマガメルマガ企業HP個人HP
企業HP個人HP
次はこれが流行るかな?
わが社に対する消費者の印象
は?
この商品に今から注目しておいたほうがよさそうだ
コンテンツアーカイブ
…
2世代
1世代
3世代
120億単の情報
・噂やネットの世界の動きを視覚的に把握できる!・これまでの流行から、今度は何が流行るかを検討できる!・インターネット上での、自サイトの評価はこうだったのか!
Webクローラ収集
これは永久保存版!
サイトランキング推移グラフこのサイトの人気度の移り変わりは?
リンク元URL集どんなサイトから注目されて
る?
HP更新頻度表季節もののサイトは?
キーワード頻度分析注目の言葉は何だろう?
分類&分析&抽出→加工して提供
「インターネット情報の統計活用」適用例
120億のインターネットコンテンツを収集/対象とするため、偏りのない統計分析が可能。
分類、キーワード、サイト人気度、ランキング情報など多角的観点での分析結果が得られる。
120億のインターネットコンテンツを収集/対象とするため、偏りのない統計分析が可能。
分類、キーワード、サイト人気度、ランキング情報など多角的観点での分析結果が得られる。
ユーザーユーザー
インターネット掲示板HP(Web・携帯向け)
掲示板HP(Web・携帯向け)
メルマガメルマガ企業HP個人HP
企業HP個人HP
次はこれが流行るかな?
わが社に対する消費者の印象
は?
この商品に今から注目しておいたほうがよさそうだ
コンテンツアーカイブ
…
2世代
1世代
3世代
120億単の情報
・噂やネットの世界の動きを視覚的に把握できる!・これまでの流行から、今度は何が流行るかを検討できる!・インターネット上での、自サイトの評価はこうだったのか!
Webクローラ収集
これは永久保存版!
サイトランキング推移グラフこのサイトの人気度の移り変わりは?
リンク元URL集どんなサイトから注目されて
る?
HP更新頻度表季節もののサイトは?
キーワード頻度分析注目の言葉は何だろう?
分類&分析&抽出→加工して提供
「インターネット情報の統計活用」適用例
120億のインターネットコンテンツを収集/対象とするため、偏りのない統計分析が可能。
分類、キーワード、サイト人気度、ランキング情報など多角的観点での分析結果が得られる。
120億のインターネットコンテンツを収集/対象とするため、偏りのない統計分析が可能。
分類、キーワード、サイト人気度、ランキング情報など多角的観点での分析結果が得られる。
18
成果普及への取り組み(3)
「企業内情報ポータル(EIP)」• Web全体から抽出したグループやトピックを、EIP(企業内情報ポータル)の情報ソー
スとして、業種や業務毎にカスタマイズして提供するサービス
人事情報
技術情報
営業日報
Webトピック
e-SocietyWeb知識抽出サービス
e-SocietyWeb知識抽出サービス
提供企業向けにカスタマイズ用途R&D技術調査
医薬品開発の先行技術情報の取得など。
マーケティング調査自社製品の浸透度、競合製品との比較調査な
ど。特に、時系列での変化。
用途R&D技術調査
医薬品開発の先行技術情報の取得など。
マーケティング調査自社製品の浸透度、競合製品との比較調査な
ど。特に、時系列での変化。
EIPシステム
適用例
19
成果普及への取り組み(4)
急速なネットワーク社会進展
-インターネットの世帯普及率約88%(平成15年通信利用動向調査)
- Web等を介した情報共有の進展
社会セキュリティ問題の顕在化
ITによる情報共有による手口の多様化
電子メール等を介在することによる犯罪件数の増大→社会的なセキュリティ問題(振り込め詐欺等)による被害100億円超(2004年前半)(警察庁2004年9月8日発表資料)
→犯罪手口の巧妙化(インターネット等を基盤とする情報共有の負の遺産)
解決のための技術
①Webからの詐欺関連情報の網羅的収集
-詐欺情報に対応するフォーカストクローリング技術-網羅性を高めるためのWebコミュニティ抽出技術
②家庭内情報機器への効果的な出力技術
俺だよ、俺頼むから助けて!
おばあちゃん
助けてー
オレオレ詐欺の手口①
おばあちゃん
助けてー
オレオレ詐欺の手口①
一例:家庭内電子ポスター
着目点-Web上で数多くの犯罪事例が公開されている
-様々な手口に関する認知度を上げることにより社会セキュリティ問題を未然に防止可能
①
②
「振り込め詐欺撲滅」適用例 e-SocietyWeb知識抽出サービス
e-SocietyWeb知識抽出サービス
急速なネットワーク社会進展
-インターネットの世帯普及率約88%(平成15年通信利用動向調査)
- Web等を介した情報共有の進展
社会セキュリティ問題の顕在化
ITによる情報共有による手口の多様化
電子メール等を介在することによる犯罪件数の増大→社会的なセキュリティ問題(振り込め詐欺等)による被害100億円超(2004年前半)(警察庁2004年9月8日発表資料)
→犯罪手口の巧妙化(インターネット等を基盤とする情報共有の負の遺産)
解決のための技術
①Webからの詐欺関連情報の網羅的収集
-詐欺情報に対応するフォーカストクローリング技術-網羅性を高めるためのWebコミュニティ抽出技術
②家庭内情報機器への効果的な出力技術
俺だよ、俺頼むから助けて!
おばあちゃん
助けてー
オレオレ詐欺の手口①
おばあちゃん
助けてー
オレオレ詐欺の手口①
一例:家庭内電子ポスター
着目点-Web上で数多くの犯罪事例が公開されている
-様々な手口に関する認知度を上げることにより社会セキュリティ問題を未然に防止可能
着目点-Web上で数多くの犯罪事例が公開されている
-様々な手口に関する認知度を上げることにより社会セキュリティ問題を未然に防止可能
①
②
「振り込め詐欺撲滅」適用例 e-SocietyWeb知識抽出サービス
e-SocietyWeb知識抽出サービス
20
成果普及への取り組み(5)
キーワード:
教科で探す
小学校 算数 生活 国語 道徳 …
中学校 数学 理科 社会 国語 総合 …
高校 数学 生物 化学 物理 地学 日本史
教育ポータル教育ポータルー先生のー先生のための授業作り支援ための授業作り支援ーー
収集ロボット
検索エンジン
人手による確認作業
自動分類 検索用DB
適用例
キーワード:
教科で探す
小学校 算数 生活 国語 道徳 …
中学校 数学 理科 社会 国語 総合 …
高校 数学 生物 化学 物理 地学 日本史
教育ポータル教育ポータルー先生のー先生のための授業作り支援ための授業作り支援ーー
収集ロボット
検索エンジン検索エンジン
人手による確認作業
自動分類 検索用DB
適用例
21
企業との連携
インターネット上の知識集約を可能にするプラットフォーム構築技術
平成15年度~富士通株式会社
アクセラテクノロジ株式会社
NTT未来ねっと研究所NTTコミュニケーション科学基礎研究所
早稲田情報技術研究所平成17年度~
Webクローラ分散化・再収集技術
ソフトウェア開発・運用ノウハウ
平成15年度~
平成15年度~
大規模データマイニング技術
ソフトウェア開発能力
実負荷分散データ提供
ネットワーク負荷分散技術
Web収集1次データ提供
新しいビジネス展開検討
インターネット上の知識集約を可能にするプラットフォーム構築技術
平成15年度~富士通株式会社
アクセラテクノロジ株式会社
NTT未来ねっと研究所NTTコミュニケーション科学基礎研究所
早稲田情報技術研究所平成17年度~
Webクローラ分散化・再収集技術
ソフトウェア開発・運用ノウハウ
平成15年度~
平成15年度~
大規模データマイニング技術
ソフトウェア開発能力
実負荷分散データ提供
ネットワーク負荷分散技術
Web収集1次データ提供
新しいビジネス展開検討
22
他プロジェクトの連携
21世紀COE「プロダクティブICTアカデミア」(早稲田大学)Webデータのマイニングにおいて技術協力。
インターネット上の知識集約を可能にするプラットフォーム構築技術
平成16年度~
平成17年度~
平成15年度~
NTCIR情報検索システム評価用テストコレクション構築プロジェクト(国立情報学研究所)Webデータを対象とした検索コンテスト実施のためのテストコレクション作成、収集データの整理技術について技術協力。
言語天文台プロジェクト(長岡技術科学大学)全世界のWebデータ収集に関して技術協力。
21世紀COE「プロダクティブICTアカデミア」(早稲田大学)Webデータのマイニングにおいて技術協力。
インターネット上の知識集約を可能にするプラットフォーム構築技術
平成16年度~
平成17年度~
平成15年度~
NTCIR情報検索システム評価用テストコレクション構築プロジェクト(国立情報学研究所)Webデータを対象とした検索コンテスト実施のためのテストコレクション作成、収集データの整理技術について技術協力。
言語天文台プロジェクト(長岡技術科学大学)全世界のWebデータ収集に関して技術協力。
23
関連プロジェクトの比較
0
20
40
60
80
100
120
解析規模の比較
億 従来(日本IBMアルマデン研究所)(2004年)
e-Society(2005年度末)
e-Society(終了時)
0
20
40
60
80
100
120
解析規模の比較
億 従来(日本IBMアルマデン研究所)(2004年)
e-Society(2005年度末)
e-Society(終了時)
比較項目 WebFountainプロジェクト(IBM) 本研究開発(e-Society)
解析規模 × 20億URL ○ 119億URL
Webデータ収集・更新
△ 更新頻度非公開 ○ 1ヶ月以内の新しさに更新
非構造化データの解析方法
○ 全文に自動タギング× 処理時間が長い
△ リンク構造とアンカーのみ利用○ 処理時間が短い
マイニング手法 △ マイニング手法非公開 ○ TF^P-growth法により高速化
24
人材育成
0
5
10
15
20
25
30
35
40
平成15年度 平成16年度 平成17年度 平成18年度 平成19年度
本プロジェクト在籍者数及び累積推移と今後の予定
予定
修士
博士
企業
博士(累積)7名
企業(累積)21名
修士(累積)36名
博士過程学生、修士課程学生がベンチャー設立
22名
18名
5名
各年度の在籍者数
25
外部発表
2003年度 2004年度 2005年度(6/末)
合計
国際会議 3 9 0 12
論文誌 0 0 1 1
学会誌 5 0 1 6
受賞 2 1 0 3
2003年度 2004年度 2005年度(6/末)
合計
招待講演 1 2 1 4
研究会・全国大会
8 5 0 13