(57)【要約】【課題】  構造化文書に対して、意味的に等価で表現が異なる派生の構造化文書を生成し、構造化文書処理システムのテストを容易にし、また、構造化文書処理の脆弱性を回避するシステムを構築可能にする。【解決手段】  構造化文書処理発生装置１００から構造化文書処理装置５５への呼び出しをモニタ装置１０１でモニタリングし、そこで得られたテスト用構造化文書５０に対して、構造化文書派生システム３４で、派生形の構造化文書を生成する。その派生形の構造化文書をテスト実施装置５１にかけて、構造化文書処理装置５５をテストし、テスト解析装置５２で、受理できる派生パターンと受理できない派生パターンを整理する。そして、実行時の構造化文書処理要求に対して、構造化文書を解析し、受理できない派生パターンと合致した場合は、受理できる派生パターンに置き換える。【選択図】  図７
2005284522.tif 000002
【特許請求の範囲】
【請求項１】
構造化文書を入力する手段と、
入力した前記構造化文書に対して、意味的な内容を保存しながら表現形式上異なる派生形を生成する手段と、
を備えた構造化文書派生システム。
【請求項２】
構造化文書処理システムをテストするシステムであって、
意味的に同じ内容であって表現が異なる派生形の構造化文書を生成する手段と、
この派生形の構造化文書に対するテストを実施する手段と、
を備えた構造化文書テストシステム。
【請求項３】
構造化文書の中間処理システムであって、
構造化文書処理システムの構造化文書の派生形に対する脆弱性パターンについての知識を持つ手段と、
前記脆弱性パターンに合致する構造化文書を、前記構造化文書処理システムが受理可能な派生形に置き換えてから当該構造化文書処理システムに渡す手段と、
を備えた構造化文書脆弱性回避システム。
【請求項４】
構造化文書の入力を受け付ける構造化文書入力部と、
構造化文書に対して意味的な内容を保存しながら表現形式を変換する派生関数と、
前記入力した構造化文書と前記派生関数とを用いて、当該構造化文書に対して意味的な内容を保存しながら表現形式上の異なる複数の派生構造化文書を生成する構造化文書派生生成部と、
を備えた構造化文書派生システム。
【請求項５】
構造化文書型定義文書の入力を受け付ける構造化文書型定義文書入力部を更に備え、
前記構造化文書派生生成部が、前記構造化文書型定義文書の情報に基づいて前記派生構造化文書を生成する、
請求項４記載の構造化文書派生システム。
【請求項６】
請求項４又は５記載の構造化文書派生システムと、
この構造化文書派生システムで生成される派生構造化文書を用いて構造化文書処理装置に対するテストを実施するテスト実施装置と、
このテスト実施装置の結果を解析し、テスト結果を出力するテスト解析装置と、
を備えた構造化文書テストシステム。
【請求項７】
前記テスト解析装置は、前記テスト結果に加えて、前記構造化文書処理装置の処理できない脆弱性パターンに関する知識を出力する、
請求項６記載の構造化文書テストシステム。
【請求項８】
前記テスト結果を表示する装置、
を備えた請求項６又は７記載の構造化文書テストシステム。
【請求項９】
テスト用構造化文書を取得するために、構造化文書処理発生装置から構造化文書処理装置への処理要求をモニタするモニタ装置を備え、
このモニタ装置から得られたテスト用構造化文書を基に、派生構造化文書を生成して前記構造化文書処理装置に対してテストを実施する、
請求項６乃至８のいずれかに記載の構造化文書テストシステム。
【請求項１０】
構造化文書処理装置に対する構造化文書処理要求と脆弱性パターンとを入力して、前記構造化文書処理要求に前記脆弱性パターンに合致する構造化文書が含まれているか否かを判断するパターン検出装置と、
このパターン検出装置によって前記脆弱性パターンに合致する構造化文書が含まれていると判断された場合に、当該構造化文書を当該脆弱性パターンに当たらない表現形式に置き換えるパターン置き換え装置と、
を備えた構造化文書脆弱性回避システム。
【請求項１１】
利用する前記脆弱性パターンを取得するために構造化文書テストシステムを備え、
この構造化文書テストシステムの結果と連動して前記構造化文書処理装置の脆弱性を回避する、
請求項１０記載の構造化文書脆弱性回避システム。
【請求項１２】
前記構造化文書処理装置に対する構造化文書処理要求をモニタするモニタ装置と、
このモニタ装置から得られたテスト用構造化文書を基に、派生構造化文書を生成して前記構造化文書処理装置に対してテストを実施する構造化文書テストシステムとを備え、
この構造化文書テストシステによって実施されたテストの結果得られる脆弱性パターンを用いて前記構造化文書処理装置の脆弱性を回避する、
請求項１０記載の構造化文書脆弱性回避システム。
【請求項１３】
前記構造化文書処理装置と同じ計算機上に配置された請求項１０乃至１２のいずれかに記載の構造化文書脆弱性回避システムを備え、
外部からは前記構造化文書処理装置を直接アクセスせずに前記構造化文書脆弱性回避システムを通してアクセスすることで、脆弱性を含まない構造化文書処理システムを構築する、
構造化文書処理装置の品質強化システム。
【請求項１４】
構造化文書処理装置が配置される第一の計算機と異なる第二の計算機上に配置された請求項１０乃至１２のいずれかに記載の構造化文書脆弱性回避システムを備え、
前記第二の計算機上の構造化文書脆弱性回避システムが、前記第一の計算機上の構造化文書処理装置の脆弱性を回避する機能を有する、
構造化文書処理装置の品質強化システム。
【請求項１５】
構造化文書に対する意味的な内容を保存しながら表現形式を変換する派生関数を登録し、
構造化文書の入力を受け付け、
入力した前記構造化文書に対して、前記派生関数を用いて意味的な内容を保存しながら表現形式上の異なる複数の派生構造化文書を生成する、
構造化文書派生方法。
【請求項１６】
構造化文書に対する意味的な内容を保存しながら表現形式を変換する派生関数を登録し、
構造化文書に対する構造化文書型定義文書を登録し、
構造化文書の入力を受け付け、
入力した前記構造化文書に対して、登録された前記派生関数及び前記構造化文書型定義文書を用いて、意味的な内容を保存しながら表現形式上の異なる複数の派生構造化文書を生成する、
構造化文書派生方法。
【請求項１７】
請求項１５又は１６記載の構造化文書派生方法で生成される派生構造化文書を用いて構造化文書処理装置に対するテストを実施し、
その実施した結果を解析し、
その解析した結果をテスト結果として出力する、
構造化文書テスト方法。
【請求項１８】
前記テスト結果には、前記構造化文書処理装置の処理できない脆弱性パターンに関する知識が含まれる、
請求項１７記載の構造化文書テスト方法。
【請求項１９】
出力された前記テスト結果を表示する、
請求項１７又は１８記載の構造化文書テスト方法。
【請求項２０】
構造化文書処理発生装置から前記構造化文書処理装置への処理要求をモニタし、
モニタした結果の構造化文書を前記入力として受け付ける、
請求項１７乃至１９のいずれかに記載の構造化文書テスト方法。
【請求項２１】
脆弱性パターンを登録し、
構造化文書処理装置に対する構造化文書処理要求を入力し、
入力した前記構造化文書処理要求に、登録した前記脆弱性パターンに合致する構造化文書が含まれているか否かを判断し、
前記脆弱性パターンに合致する前記構造化文書が含まれている場合に、当該構造化文書を当該脆弱性パターンに当たらない表現形式に置き換える、
構造化文書脆弱性回避方法。
【請求項２２】
前記構造化文書処理装置を構造化文書テスト方法を用いてテストし、
このテスト結果の脆弱性パターンを用いて脆弱性回避をする、
請求項２１記載の構造化文書脆弱性回避方法。
【請求項２３】
前記構造化文書処理装置に対する前記構造化文書処理要求をモニタし、
このモニタした結果を利用して、当該構造化文書処理装置を構造化文書テスト方法を用いてテストし、
このテスト結果の脆弱性パターンを用いて脆弱性回避をする、
請求項２１記載の構造化文書脆弱性回避方法
【請求項２４】
構造化文書に対する意味的な内容を保存しながら表現形式を変換する派生関数を登録する処理と、
構造化文書の入力を受け付ける処理と、
入力した前記構造化文書に対して、前記登録された派生関数を用いて意味的な内容を保存しながら表現形式上の異なる複数の派生構造化文書を生成する処理と、
をコンピュータに実行させるためのプログラム。
【請求項２５】
構造化文書に対する意味的な内容を保存しながら表現形式を変換することができる派生関数を登録する処理と、
構造化文書に対する構造化文書型定義文書を登録する処理と、
構造化文書の入力を受け付ける処理と、
入力した前記構造化文書に対して、登録された前記派生関数及び前記構造化文書型定義文書を用いて、意味的な内容を保存しながら表現形式上の異なる複数の派生構造化文書を生成する処理と、
をコンピュータに実行させるためのプログラム。
【請求項２６】
生成された前記派生構造化文書を用いて構造化文書処理装置に対するテストを実施する処理と、
前記テストの実施結果を解析する処理と、
この解析した結果をテスト結果として出力する処理と、
をコンピュータに実行させるための請求項２４又は２５記載のプログラム。
【請求項２７】
前記テスト結果には、前記構造化文書処理装置の処理できない脆弱性パターンに関する知識が含まれる、
請求項２６記載のプログラム。
【請求項２８】
出力された前記テスト結果を表示する処理、
をコンピュータに実行させるための請求項２６又は２７記載のプログラム。
【請求項２９】
構造化文書処理発生装置から前記構造化文書処理装置への処理要求をモニタする処理をコンピュータに実行させるためのプログラムであって、
前記構造化文書の入力を受け付ける処理は、前記モニタした結果の構造化文書の入力を受け付けるものである、
請求項２６乃至２８のいずれかに記載のプログラム。
【請求項３０】
脆弱性パターンを登録する処理と、
構造化文書処理装置に対する構造化文書処理要求を入力する処理と、
入力した前記構造化文書処理要求に登録した前記脆弱性パターンに合致する構造化文書が含まれているか否かを判断する処理と、
前記脆弱性パターンに合致する構造化文書が含まれている場合に、当該構造化文書を当該脆弱性パターンに当たらない表現形式に置き換える処理と、
をコンピュータに実行させるためのプログラム。
【請求項３１】
構造化文書処理装置を構造化文書テスト方法を用いてテストする処理をコンピュータにに実行させるためのプログラムであって、
前記脆弱性パターンを登録する処理は、前記テスト結果の脆弱性パターンを登録するものである、
請求項３０記載のプログラム。
【請求項３２】
構造化文書処理装置に対する構造化文書処理要求をモニタする処理と、
このモニタした結果を利用して、構造化文書処理装置を構造化文書テスト方法を用いてテストする処理とをコンピュータに実行させるためのプログラムであって、
前記脆弱性パターンを登録する処理は、前記テスト結果の脆弱性パターンを登録するものである、
請求項３０記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構造化文書の意味を保存したまま別の表現形式に変換できる構造化文書派生システム、構造化文書派生方法及び構造化文書派生用プログラムに関する。
【背景技術】
【０００２】
従来の構造化文書テスト生成システムの一例が、特許文献１に記載されている。図１８に示すように、この従来の構造化文書テスト生成システムは、構造化文書型定義文書入力手段１１と、構造化文書型定義文書解析手段１２と、テストプログラム生成手段１３とから構成されている。このような従来の構造化文書テスト生成システムは、次のように動作する。すなわち、ＤＴＤ（document type definition）等の構造化文書型定義文書１０を構造化文書型定義文書入力手段１１で受け、その内容を構造化文書型定義文書解析手段１２で解析し、その解析結果に基づいてテストプログラム生成手段１３によって、構造化文書のテストプログラム１５を生成するというものであった。
【０００３】
また、従来の構造化文書型変換システムの一例が、特許文献２に記載されている。図１９に示すように、この従来の構造化文書型変換システムは、構造化文書型変換定義文書入力手段２２と、構造化文書入力手段２３と、構造化文書変換手段２４とから構成されている。このような従来の構造化文書型変換システムは次のように動作する。すなわち、構造化文書型変換定義文書２１を構造化文書型変換定義文書入力手段２２が受け、この文書の規則に従って、構造化文書入力手段２３から入力した構造化文書２０を対象に、構造化文書変換手段２４によって構造の変換を行い、入力とは異なる構造の構造化文書２５を出力するものであった。
【０００４】
【特許文献１】特開２００３-２８０９４２号公報
【特許文献２】特開２００２-３４２３１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
第一の問題点は、構造化文書変換システムが、意味的に等しい構造化文書であっても、表現形式が異なる構造化文書を生成していなかったことである。その理由は、構造化文書は、複数のシステム間でデータ共有できることが特長であり、この特長を生かすために、複数のシステム間で異なる文書の構造間の差異を吸収するための、文書の構造変換のシステム開発が盛んであったが、意味的に同じ構造化文書を表現形式だけ異なるような派生形に変換するという考えに至らなかったということである。ただし、本発明で述べる「意味的に等しく、表現形式が異なる構造化文書」とは、構造化文書の構造も、その中に含まれる情報も等しい構造化文書であり、名前空間の名前の付け方や、インデンテーションのために付けたスペースの違いや、文字コードの違いのような、構造化文書を出力する時の表現の違いだけを持つ構造化文書のことを指す。
【０００６】
第二の問題点は、構造化文書のテスト生成システムが、構造化文書型定義文書を用いて、定義にあった構造化文書を生成して、それを受理することに焦点をあてていて、構造化文書の表現の多様性について十分に考慮していなかったことである。その理由は、従来のテスト生成システムでは、入力データの内容及び構造を変更することが重要なテスト項目である一方、構造化文書は同じデータ内容に対して表現上の多様性を持っていて、この多様な表現の構造化文書を全て受理できるか否かということに対する考慮が欠けていたためである。
【０００７】
第三の問題点は、構造化文書の表現形式の多様性についてのテスト結果を、自動的に構造化文書処理システムの処理能力の弱さを補うシステムの入力として用いて、自動的に弱いパターンの構造化文書を避けるようにシステムを連携していなかったことである。その理由は、構造化文書の表現形式の多様性に注目するシステムがなかったことと、表現形式の多様性のテスト結果を用いて、ランタイムの処理能力の弱さを自動的に補うという組み合わせに関する考察がなかったということである。
【０００８】
第四の問題点は、構造化文書処理システムを、中継ノードを設けることで、処理の脆弱性の品質強化するというシステムが考案されていなかったことである。その理由は、中継ノードは、ログ、ルーティング、形式変換をすることが中心的な操作であると考えられてきて、意味的なデータ内容を変えないままに、末端のサービスの品質を上げるために、中継ノードを利用するという、異なる視点からの検討がされていなかったということである。
【０００９】
そこで、第一の目的は、同一の意味的な内容を持つ構造化文書に対して、表現の多様性に基づく様々な構造化文書を派生させることができる構造化文書派生システムを提供することにある。
【００１０】
第二の目的は、同一の意味的な内容を持つ構造化文書に対して、表現上の多様性を持つ構造化文書を派生させて、それが受理できるか否かをテストできる構造化文書テストシステムを提供することにある。
【００１１】
第三の目的は、表現形式の多様性の構造化文書テストシステムの結果を用いて、ランタイムの処理能力の脆弱性を回避できる構造化文書脆弱性回避システムを提供することにある。
【００１２】
第四の目的は、構造化文書を中継するノードで、構造化文書の意味的なデータ内容を変えないままに、処理能力の脆弱性を回避できる構造化文書脆弱性回避システムを中継ノードに用いた品質強化システム提供することにある。
【課題を解決するための手段】
【００１３】
本発明の構造化文書派生システムは、構造化文書入力部と、構造化文書派生生成部と、派生関数とを備え、入力された構造化文書に対して、派生関数を用いて、意味的に同一の内容を持ち表現が異なる複数の派生文書を生成するよう動作する。このような構成を採用し、構造化文書の派生文書を生成することにより、第一の目的を達成することができる。
【００１４】
本発明の構造化文書テストシステムは、構造化文書派生システムと、テスト実施装置と、テスト解析装置とを備え、入力されたテスト用構造化文書に対して、複数の派生文書を生成し、それらを構造化文書処理装置に対して入力してテストを実施し、結果を分析するように動作する。このような構成を採用し、構造化文書処理装置をテストすることにより、第二の目的を達成することができる。
【００１５】
本発明の構造化文書脆弱性回避システムは、パターン検出装置と、パターン置き換え装置とを備え、脆弱性パターンと構造化文書型定義文書を受けて、構造化文書処理要求装置からの入力に対して脆弱性のパターンを検出し、脆弱性パターンに当てはまる時には、それを回避するパターンに置き換えるよう動作する。このような構成を採用し、構造化文書の脆弱性を回避することにより、第三の目的を達成することができる。
【００１６】
本発明の構造化文書脆弱性回避システムを中継ノードに用いた品質強化システムは、構造化文書処理装置とは異なる中継ノードの計算機上に、構造化文書型定義文書と、脆弱性パターンと、構造化文書脆弱性回避システムとを備え、中継ノードによって、構造化文書処理装置の脆弱性回避を行うよう動作する。このような構成を採用し、構造化文書処理装置を外部から品質強化することにより、第四の目的を達成することができる。
【００１７】
なお、本発明は次のように表現することもできる。
【００１８】
１．構造化文書に対して、意味的な内容を保存しながら表現形式上異なる派生形を生成することを特徴とする構造化文書派生システム。
【００１９】
２．構造化文書処理システムをテストするシステムであって、意味的に同じ内容であって表現が異なる派生形の構造化文書を生成して、前記派生形の構造化文書に対するテストを実施することを特徴とする構造化文書テストシステム
３．構造化文書の中間処理システムであって、構造化文書処理システムの構造化文書の派生形に対する脆弱性パターンについての知識を持っていて、脆弱性パターンに合致する構造化文書を、構造化文書処理システムが受理可能な派生形に置き換えてから構造化文書処理システムに渡すことを特徴とする構造化文書脆弱性回避システム。
【００２０】
４．構造化文書の入力を受け付ける構造化文書入力部と、構造化文書に対して意味的を内容を保存しながら表現形式を変換することができる派生関数と、前記入力された構造化文書と前記派生関数を用いて、前記構造化文書に対して意味的な内容を保存しながら表現形式上の異なる複数の派生構造化文書を生成する構造化文書派生生成部とを備えたことを特徴とする構造化文書派生システム。
【００２１】
５．構造化文書型定義文書の入力を受け付ける構造化文書型定義文書入力部を備え、前記構造化文書派生生成部が、構造化文書型定義文書の情報に基づいて派生構造化文書を生成することを特徴とする前記４記載の構造化文書派生システム。
【００２２】
６．前記４又は５記載の構造化文書派生システムと、前記構造化文書派生システムで生成される派生構造化文書を用いて構造化文書処理装置に対するテストを実施するテスト実施装置と、前記テスト実施装置の結果を解析し、テスト結果を出力するテスト解析装置とを備えたことを特徴とする構造化文書テストシステム。
【００２３】
７．前記６記載のテスト解析装置が、テスト結果に加えて、更に、構造化文書処理装置の処理できない脆弱性パターンに関する知識を出力することを特徴とする前記６の構造化文書テストシステム。
【００２４】
８．テスト結果を表示する装置を備えることを特徴とする前記６又は７記載の構造化文書テストシステム。
【００２５】
９．テスト用構造化文書を取得するために、構造化文書処理発生装置から構造化文書処理装置への処理要求をモニタするモニタ装置を備え、前記モニタ装置から得られたテスト用構造化文書を基に、派生構造化文書を生成して構造化文書処理装置に対してテストを実施することを特徴とする前記６、７又は８記載の構造化文書テストシステム。
【００２６】
１０．構造化文書処理装置に対する構造化文書処理要求と、脆弱性パターンを入力として、構造化文書処理要求に脆弱性パターンに合致する構造化文書が含まれているか否かを判定するパターン検出装置と、前記パターン検出装置が脆弱性パターンに合致すると判断した場合に、脆弱性パターンに当たらない構造化文書の表現形式に置き換えるためのパターン置き換え装置とを備えたことを特徴とする構造化文書脆弱性回避システム。
【００２７】
１１．利用する脆弱性パターンを取得するために、構造化文書テストシステムを備え、構造化文書テストシステムの結果と連動して構造化文書処理装置の脆弱性を回避することができることを特徴とする前記１０記載の構造化文書脆弱性回避システム。
【００２８】
１２．構造化文書処理装置に対する構造化文書処理要求をモニタするモニタ装置と、前記モニタ装置から得られたテスト用構造化文書を基に、派生構造化文書を生成して構造化文書処理装置に対してテストを実施する構造化文書テストシステムとを備え、前記モニタ装置から得られたテスト用構造化文書を基に、派生構造化文書を生成して構造化文書処理装置に対してテストを実施し、その結果得られる脆弱性パターンを用いて構造化文書処理装置の脆弱性を回避することができることを特徴とする前記１０記載の構造化文書脆弱性回避システム。
【００２９】
１３．前記１０、１１又は１２記載の構造化文書脆弱性回避システムが、構造化文書処理装置と同じ計算機上に配置され、外部からは構造化文書処理装置を直接アクセスせずに構造化文書脆弱性回避システムを通してアクセスすることで、脆弱性を含まない構造化文書処理システムを構築できることを特徴とする構造化文書処理装置の品質強化システム。
【００３０】
１４．前記１０、１１又は１２記載の構造化文書脆弱性回避システムが、構造化文書処理装置が配置される第一の計算機と異なる第二の計算機上に配置され、第二の計算機上の脆弱性回避システムが、第一の計算機上の構造化文書処理装置の脆弱性を回避する機能を果たすことを特徴とする構造化文書処理装置の品質強化システム。
【００３１】
１５．構造化文書に対する意味的な内容を保存しながら表現形式を変換することができる派生関数を登録し、構造化文書の入力を受け付け、前記構造化文書に対して意味的な内容を保存しながら表現形式上の異なる複数の派生構造化文書を生成することを特徴とする構造化文書派生方法。
【００３２】
１６．構造化文書に対する意味的な内容を保存しながら表現形式を変換することができる派生関数を登録し、構造化文書に対する構造化文書型定義文書を登録し、構造化文書の入力を受け付け、前記構造化文書に対して意味的な内容を保存しながら表現形式上の異なる複数の派生構造化文書を生成することを特徴とする構造化文書派生方法。
【００３３】
１７．前記１５又は１６記載の構造化文書派生方法に続いて、前記構造化文書派生方法で生成される派生構造化文書を用いて構造化文書処理装置に対するテストを実施し、前記テスト実施装置の結果を解析し、テスト結果を出力することを特徴とする構造化文書テスト方法。
１８．前記テスト実施装置の結果の解析ステップが、テスト結果に加えて、更に、構造化文書処理装置の処理できない脆弱性パターンに関する知識を出力することを特徴とする前記１７記載の構造化文書テスト方法。
【００３４】
１９．テスト結果を表示することを特徴とする前記１７又は１８記載の構造化文書テスト方法。
【００３５】
２０．構造化文書処理発生装置から構造化文書処理装置への処理要求をモニタし、モニタした結果の構造化文書を入力として受け付けることを特徴とする前記１７、１８又は１９記載の構造化文書テスト方法。
【００３６】
２１．脆弱性パターンを登録し、構造化文書処理装置に対する構造化文書処理要求を入力し、構造化文書処理要求に脆弱性パターンに合致する構造化文書が含まれているか否かを判定し、脆弱性パターンに合致すると判断した場合に、脆弱性パターンに当たらない構造化文書の表現形式に置き換えることを特徴とする構造化文書脆弱性回避方法。
【００３７】
２２．構造化文書処理装置を構造化文書テスト方法を用いてテストし、前記テスト結果の脆弱性パターンを用いて脆弱性回避をすることを特徴とする前記２１記載の構造化文書脆弱性回避方法。
【００３８】
２３．構造化文書処理装置に対する構造化文書処理要求をモニタし、前記モニタした結果を利用して、構造化文書処理装置を構造化文書テスト方 法を用いてテストし、前記テスト結果の脆弱性パターンを用いて脆弱性回避をすることを特徴とする前記２１記載の構造化文書脆弱性回避方法。
【００３９】
２４．構造化文書に対する意味的な内容を保存しながら表現形式を変換することができる派生関数を登録する処理と、構造化文書の入力を受け付ける処理と、前記構造化文書に対して意味的な内容を保存しながら表現形式上の異なる複数の派生構造化文書を生成する処理とをコンピュータに実行させるためのプログラム。
【００４０】
２５．構造化文書に対する意味的な内容を保存しながら表現形式を変換することができる派生関数を登録する処理と、構造化文書に対する構造化文書型定義文書を登録する処理と、構造化文書の入力を受け付ける処理と、前記構造化文書に対して意味的な内容を保存しながら表現形式上の異なる複数の派生構造化文書を生成する処理とをコンピュータに実行させるためのプログラム。
【００４１】
２６．前記２４又は２５記載の処理に続いて、前記構造化文書派生方法で生成される派生構造化文書を用いて構造化文書処理装置に対するテストを実施する処理と、前記テスト実施装置の結果を解析する処理と、テスト結果を出力する処理とをコンピュータに更に実行させることを特徴とするプログラム。
【００４２】
２７．前記２６記載のテスト結果を解析する処理は、テスト結果に加えて、更に、構造化文書処理装置の処理できない脆弱性パターンに関する知識を出力する処理を含むプログラム。
【００４３】
２８．テスト結果を表示する処理をコンピュータに更に実行させることを特徴とする前記２６又は２７記載のプログラム。
【００４４】
２９．構造化文書処理発生装置から構造化文書処理装置への処理要求をモニタする処理と、モニタした結果の構造化文書を前記請求項２６、２７又は２８記載のプログラムに入力する処理とをコンピュータに更に実行させることを特徴とするプログラム。
【００４５】
３０．脆弱性パターンを登録する処理と、構造化文書処理装置に対する構造化文書処理要求を入力する処理と、構造化文書処理要求に脆弱性パターンに合致する構造化文書が含まれているか否かを判定する処理と、脆弱性パターンに合致すると判断した場合に、脆弱性パターンに当たらない構造化文書の表現形式に置き換える処理とをコンピュータに実行させることを特徴とするプログラム。
【００４６】
３１．構造化文書処理装置を構造化文書テスト方法を用いてテストする処理と、前記テスト結果の脆弱性パターンを前記３０記載のプログラムに入力する処理とをコンピュータに更に実行させることを特徴とするプログラム。
【００４７】
３２．構造化文書処理装置に対する構造化文書処理要求をモニタする処理と、前記モニタした結果を利用して、構造化文書処理装置を構造化文書テスト方法を用いてテストする処理と、前記テスト結果の脆弱性パターンを前記３０記載のプログラムに入力する処理とをコンピュータに更に実行させることを特徴とするプログラム。
【発明の効果】
【００４８】
第一の効果は、構造化文書型定義文書がなくても、構造化文書を入力するだけで、意味的に同一な内容を持ち、表現が異なる複数の派生文書を生成するよう動作する構造化文書派生システムができることにある。
【００４９】
その理由は、構造化文書の表現形式の多様性についての知識を持って作られた派生関数によって、入力された構造化文書に関する派生文書を生成する構造化文書派生生成部を備えたためである。
【００５０】
第二の効果は、構造化文書処理装置に対して、意味的に同一な内容を持ち、表現が異なる複数の派生文書をテストすることができ、構造化文書処理装置の脆弱性をテスト時に効率的に抽出できることにある。
【００５１】
その理由は、前記の構造化文書派生システムを用いて、多くの派生文書を生成でき、それらを対象となる構造化文書処理装置に対する入力として与えることができるためである。
【００５２】
第三の効果は、構造化文書処理装置に対する多様な構造化文書入力に対して、構造化文書処理装置が対応できない構造化文書パターンに関する脆弱性を回避できることにある。
【００５３】
その理由は、前記の構造化文書テストシステムを用いて、事前に構造化文書の派生文書に対してテストを実施することができ、この結果得られる脆弱性パターンを記憶し、そのパターンの構造化文書が入力されてきた場合に、脆弱性を回避する別のパターンの派生文書に変形してから、構造化文書処理装置に入力として与えることができるためである。
【００５４】
第四の効果は、前記の構造化文書脆弱性回避を、構造化文書処理装置とは別の中継ノードで実施することで、構造化文書処理装置に外付けの形で品質強化システムを構築できることにある。
【００５５】
その理由は、前記の構造化文書脆弱性回避システムの入出力は、意味的に同一な内容を持つ構造化文書であり、構造化文書処理システムの動作を変えずに、独立したシステムとして中継ノードで実行できるためである。
【発明を実施するための最良の形態】
【００５６】
次に、発明を実施するための最良の形態（以下「実施形態」と略称する。）について、図面を参照して詳細に説明する。
【００５７】
図１を参照すると、第一実施形態の構造化文書派生システム３４は、構造化文書３０の入力を受け付ける構造化文書入力部３１と、構造化文書３０の派生形を生成する構造化文書派生生成部３２と、構造化文書派生生成部３２に派生用の関数を提供する派生関数３３とから構成される。
【００５８】
これらはそれぞれ概略次のように動作する。構造化文書入力部３１は、構造化文書３０の入力を外部から受け、内部構造に変換した結果を構造化文書派生生成部３２に渡す。構造化文書派生生成部３２は、構造化文書入力部３１から受け取った内部構造を、派生関数３３によって構造変換させ、同一内容で表現が違う文書群３５を出力する。構造化文書派生システム３４は、構造化文書入力部３１、構造化文書派生生成部３２、派生関数３３を持って、全体として、構造化文書３０を入力として受け取り、同一内容で表現が違う構造化文書群３５を出力する。
【００５９】
次に、図２のフローチャートを参照して本実施形態の全体の動作について詳細に説明する。まず、派生関数３３を事前登録する（ステップ６０）。続いて、構造化文書３０を入力し、構造化文書入力部３１が内部構造に変換する（ステップ６１）。続いて、構造化文書派生生成部３２が、前記の内部構造を入力として受けて、構造化文書の３０派生形を生成する（ステップ６２）。最後に、構造化文書派生生成部３２が同一内容で表現が違う構造化文書３５を出力する（ステップ６３）。
【００６０】
次に、本実施形態の効果について説明する。本実施形態では、派生関数３３が登録できるように構成されているため、様々な構造化文書３０の表現上の派生形を、登録された派生関数３３の機能に従って多数生成できる。派生関数３３を追加したり置き換えたりすれば、異なる派生形を生成できる。また、派生関数３３を組合せて、より多くの派生形を生成できる。
【００６１】
次に、第二実施形態について図面を参照して詳細に説明する。
【００６２】
図３を参照すると、第二実施形態の構造化文書派生システム３４は、構造化文書３０の入力を受け付ける構造化文書入力部３１と、構造化文書型定義文書４０の入力を受け付ける構造化文書型定義文書入力部４１と、構造化文書３０の派生形を生成する構造化文書派生生成部３２と、構造化文書派生生成部３２に派生用の関数を提供する派生関数３３とから構成されている。
【００６３】
これらは、それぞれ概略次のように動作する。構造化文書入力部３１は、構造化文書３０の入力を外部から受け、内部構造に変換した結果を構造化文書派生生成部３２に渡す。構造化文書型定義文書入力部４１は、構造化文書型定義文書４０の入力を外部から受け、構造化文書派生生成部３２に渡す。構造化文書派生生成部３２は、構造化文書入力部３１から受け取った内部構造を、構造化文書型定義文書４０の型定義を参考に派生関数３３によって構造変換させ、同一内容で表現が違う文書群３５を出力する。構造化文書派生システム３４は、構造化文書入力部３１、構造化文書派生生成部３２、派生関数３３、構造化文書型定義文書入力部４１を持って、全体として、構造化文書３０と構造化文書型定義文書４０とを入力として受け取り、同一内容で表現が違う構造化文書群３５を出力する。
【００６４】
次に、第二実施形態の効果について説明する。本実施形態では、構造化文書型定義文書４０を入力として受け付けるため、構造化文書３０の型情報について、より多くの情報を利用して、そして派生関数３３を用いて、構造化文書３０の表現上の派生形を生成できる。
【００６５】
次に、第三実施形態について図面を参照して詳細に説明する。
【００６６】
図４を参照すると、第三実施形態の構造化文書テストシステム５４は、テスト用構造化文書５０の入力とオプションとして構造化文書型定義文書４０の入力とを受け付け構造化文書の派生文書を生成する構造化文書派生システム３４と、構造化文書派生システム３４の出力する派生文書を用いて構造化文書処理装置５５に対してテストを実施するテスト実施装置５１と、テスト実施装置５１の結果を解析するテスト解析装置５２とから構成されている。
【００６７】
これらは、それぞれ概略次のように動作する。構造化文書派生システム３４は、テスト用構造化文書５０の入力を外部から受け、テスト用構造化文書５０の派生文書を生成し、テスト実施装置５１に渡す。テスト実施装置５１は、派生文書を構造化文書処理装置５５に渡し、正しく受理されて正しい答えが戻ってきているかをモニタリングする。テストの結果は、テスト解析装置５２に渡され、解析されてテスト結果５３として出力される。
【００６８】
次に、第三実施形態の効果について説明する。本実施形態では、テスト用構造化文書５０の入力を受けて、構造化文書派生システム３４で、同じ内容を持って表現が違う多量の構造化文書を生成でき、それをテスト実施装置５１に入力して、構造化文書処理装置５５をテストできることから、構造化文書の表現形式について網羅的なテストを実施することができる。
【００６９】
次に、第四実施形態について図面を参照して詳細に説明する。
【００７０】
図５を参照すると、第四実施形態の構造化文書テストシステム５４は、テスト用構造化文書５０の入力と構造化文書型定義文書４０の入力とを受け付け構造化文書の派生文書を生成する構造化文書派生システム３４と、構造化文書派生システム３４の出力する派生文書を用いて構造化文書処理装置５５に対してテストを実施するテスト実施装置５１と、テスト実施装置５１の結果を解析するテスト解析装置５２とから構成され、テスト結果を出出力するとともに、構造化文書処理装置５５の構造化文書の受付能力の脆弱性を示す脆弱性パターンを出力する。
【００７１】
これらは、それぞれ概略次のように動作する。構造化文書派生システム３４は、テスト用構造化文書５０と構造化文書型定義文書４０との入力を外部から受け、テスト用構造化文書５０の派生文書を生成し、テスト実施装置５１に渡す。テスト実施装置５１は、派生文書を構造化文書処理装置５５に渡し、正しく受理されて正しい答えが戻ってきているか否かをモニタリングする。テストの結果はテスト解析装置５２に渡され、解析されてテスト結果５３と脆弱性パターン７０とを出力する。
【００７２】
次に、第四実施形態の効果について説明する。本実施形態では、テスト解析装置５２の出力は、テスト結果５３に加えて、脆弱性パターン７０が出力される。この脆弱性パターン７０は、構造化文書処理装置５５が受理できなかった構造化文書の表現形式の型を示すデータであり、このデータを使った他のシステム構築に利用することができる。
【００７３】
次に、第五実施形態について図面を参照して詳細に説明する。
【００７４】
図６を参照すると、第五実施形態は、構造化文書テストシステム５４とテスト結果表示装置９０とからなる。構造化文書テストシステム５４は、テスト用構造化文書５０の入力と構造化文書型定義文書４０の入力とを受け付け構造化文書の派生文書を生成する構造化文書派生システム３４と、構造化文書派生システム３４の出力する派生文書を用いて構造化文書処理装置５５に対してテストを実施するテスト実施装置５１と、テスト実施装置５１の結果を解析するテスト解析装置５２とから構成されている。
【００７５】
これらは、それぞれ概略次のように動作する。構造化文書派生システム３４は、テスト用構造化文書５０の入力とオプションとして構造化文書型定義文書４０の入力とを外部から受け、テスト用構造化文書５０の派生文書を生成し、テスト実施装置５１に渡す。テスト実施装置５１は、派生文書を構造化文書処理装置５５に渡し、正しく受理されて正しい答えが戻ってきているか否かをモニタリングする。テストの結果はテスト解析装置５２に渡され、解析されてテスト結果５３として出力される。テスト結果５３は、テスト結果表示装置９０によって、コンピュータディスプレイなどに表示することができる。
【００７６】
次に、第五実施形態の効果について説明する。本実施形態では、構造化文書テストシステム５４の出力であるテスト結果５３をテスト結果表示装置９０で表示することができる。これにより、テスト結果５３の確認を容易に行うことができる。
【００７７】
次に、第六実施形態について図面を参照して詳細に説明する。
【００７８】
図７を参照すると、第六実施形態は、構造化文書処理発生装置１００から構造化文書処理装置５５への処理要求をモニタするモニタ装置１０１と、構造化文書テストシステム５４とからなる。構造化文書テストシステム５４は、モニタ装置１０１でモニタリングしたテスト用構造化文書５０の入力と構造化文書型定義文書４０の入力とを受け付け構造化文書の派生文書を生成する構造化文書派生システム３４と、構造化文書派生システム３４の出力する派生文書を用いて構造化文書処理装置５５に対してテストを実施するテスト実施装置５１と、テスト実施装置５１の結果を解析するテスト解析装置５２とから構成されている。
【００７９】
これらは、それぞれ概略次のように動作する。構造化文書処理発生装置１００は、構造化文書処理装置５５に対して処理要求を出す装置であり、その処理要求をモニタ装置１０１でモニタリングしてテスト用構造化文書５０を作成する。構造化文書派生システム３４は、テスト用構造化文書５０と構造化文書型定義文書４０との入力を外部から受け、テスト用構造化文書５０の派生文書を生成し、テスト実施装置５１に渡す。テスト実施装置５１は、派生文書を構造化文書処理装置５５に渡し、正しく受理されて正しい答えが戻ってきているか否かをモニタリングする。テストの結果はテスト解析装置５２に渡され、解析されてテスト結果５３として出力される。
【００８０】
換言すると、構造化文書処理発生装置１００から構造化文書処理装置５５への呼び出しをモニタ装置１０１でモニタリングし、そこで得られたテスト用構造化文書５０に対して、構造化文書派生システム３４で、派生形の構造化文書を生成する。その派生形の構造化文書をテスト実施装置５１にかけて、構造化文書処理装置５５をテストし、テスト解析装置５２で、受理できる派生パターンと受理できない派生パターンとを整理する。そして、実行時の構造化文書処理要求に対して、構造化文書を解析し、受理できない派生パターンと合致した場合は、受理できる派生パターンに置き換える。これにより、構造化文書に対して、意味的に等価で表現が異なる派生の構造化文書を生成し、構造化文書処理システムのテストを容易にし、また、構造化文書処理の脆弱性を回避するシステムを構築可能にする。
【００８１】
次に、図８のフローチャートを参照して第六実施形態の全体の動作について詳細に説明する。まず、構造化文書処理発生装置１００からの構造化文書処理装置５５への処理要求である構造化文書をモニタ装置１０１でモニタリングし、テスト用構造化文書５０を生成する（ステップ１１０）。次に、前記のテスト用構造化文書５０に加えて、構造化文書型定義文書４０もオプションで利用して、構造化文書派生システム３４で、複数の派生文書を生成する（ステップ１１１）。そして、テスト実施装置５１は、前記の派生文書から一つを取り出して、構造化文書処理装置５５に対してテストを実施する（ステップ１１２）。次に、前記の派生文書を全て処理し終えたか否かを判断し、派生文書に残りがあればステップ１１２に戻る（ステップ１１３）。全ての派生文書の処理が終了した場合は、テスト解析装置５２で、テストの実施結果を分析し、まとめる（ステップ１１４）。最後に、テスト結果５３を出力する。（ステップ１１５）。
【００８２】
次に、第六実施形態の効果について説明する。本実施形態では、構造化文書処理装置５５に対する構造化文書処理発生装置１００からの処理要求をモニタリングしたデータをテスト用構造化文書５０として、構造化文書テストシステム５４の入力に利用することのより、構造化文書処理装置５５のテストを木目細かくテストすることができる。
【００８３】
次に、第七実施形態について図面を参照して詳細に説明する。
【００８４】
図９を参照すると、第七実施形態の構造化文書脆弱性回避システム１２３は、パターン検出装置１２１とパターン置き換え装置１２２とから構成される。パターン検出装置１２１は、構造化文書処理要求装置１２０からの処理要求を受け、脆弱性パターン７０とオプションとしての構造化文書型定義文書４０とを入力して処理要求の中のパターン検出を行う。パターン置き換え装置１２２は、パターン検出装置１２１で脆弱性パターンにマッチした構造化文書を置き換える。
【００８５】
これらは、それぞれ概略次のように動作する。構造化文書処理要求装置１２０からの処理要求は、パターン検出装置１２１に渡される。このパターン検出装置１２１は、脆弱性パターンの入力を必須として持ち、また、構造化文書型定義文書４０の入力をオプションとして持つ。そして、このパターン検出装置１２１において、前記処理要求の文書に脆弱性パターンが含まれているか否かを検査する。もし、脆弱性パターンが含まれていた場合は、前記文書はパターン置き換え装置１２２に渡されて、脆弱性パターンに当たらないパターンの構造化文書に変形する。そして、脆弱性パターンを含まない文書を構造化文書処理装置５５に渡す。
【００８６】
次に、図１０のフローチャートを参照して第七実施形態の全体の動作について詳細に説明する。まず、パターン検出装置１２１に対して、脆弱性パターンを入力する（ステップ１３０）。続いて、オプションとして、パターン検出装置１２１に対して構造化文書型定義文書４０を入力する（図示せず）。次に、構造化文書処理要求装置１２０から、構造化文書処理要求を受ける（ステップ１３１）。そして、パターン検出装置１２１において、脆弱性パターン７０と一致するパターンが含まれていないか検査する（ステップ１３２）。もし、脆弱性パターン７０が含まれていた場合は、パターン置き換え装置１２２で、脆弱性に当たらないパターンに置き換える（ステップ１３３）。最後に、置き換えが終わった構造化文書、又は、パターンが含まれていなかった場合は入力された処理要求文書そのものを、構造化文書処理装置５５に転送する（ステップ１３４）。
【００８７】
次に、第七実施形態の効果について説明する。本実施形態では、脆弱性パターン７０を利用することで、構造化文書処理装置５５に対する構造化文書処理要求装置１２０からの処理要求を、脆弱性パターン７０が含まれない構造化文書に変形してから、構造化文書処理装置５５に渡すことができ、構造化文書処理装置５５で処理できない構造化文書を回避することができる。
【００８８】
次に、第八実施形態について図面を参照して詳細に説明する。
【００８９】
図１１を参照すると、第八実施形態は、テスト用構造化文書５０と構造化文書型定義文書４０とを入力とし構造化文書処理装置５５に接続される構造化文書テストシステム５４と、構造化文書脆弱性回避システム１２３とからなる。構造化文書脆弱性回避システム１２３は、パターン検出装置１２１とパターン置き換え装置１２２とから構成される。パターン検出装置１２１は、構造化文書テストシステム５４から得られる脆弱性パターン７０と構造化文書型定義文書４０とを入力として、更に、構造化文書処理要求装置１２０からの処理要求を受けて処理要求の中のパターン検出を行う。パターン置き換え装置１２２は、パターン検出装置１２１で脆弱性パターン７０にマッチした構造化文書を置き換える。
【００９０】
これらは、それぞれ概略次のように動作する。テスト用構造化文書５０とオプションの構造化文書型定義文書４０とを入力として受けた構造化文書テストシステム５４は、構造化文書処理装置５５をテストして、その結果として、脆弱性パターン７０を生成する。この脆弱性パターン７０とオプションとして構造化文書型定義文書４０とを入力として、更に構造化文書処理要求装置１２０からの構造化文書を処理要求として受けたパターン検出装置１２１は、前記処理要求の文書に脆弱性パターン７０が含まれているか否かを検査する。もし、脆弱性パターン７０が含まれていた場合、その文書は、パターン置き換え装置１２２に渡されて、脆弱性パターン７０に当たらないパターンの構造化文書に変形する。そして、脆弱性パターン７０を含まない文書を構造化文書処理装置５５に渡す。
【００９１】
次に、第八実施形態の効果について説明する。本実施形態では、構造化文書テストシステム５４が生成した脆弱性パターン７０を利用して、構造化文書処理装置５５に対する構造化文書処理要求装置１２０からの処理要求を、脆弱性パターン７０が含まれない構造化文書に変形してから、構造化文書処理装置５５に渡すことができるので、構造化文書処理装置５５で処理できない構造化文書を回避することができる。
【００９２】
次に、第九実施形態について図面を参照して詳細に説明する。
【００９３】
図１２を参照すると、第九実施形態は、構造化文書処理発生装置１００から構造化文書処理装置５５への処理要求をモニタするモニタ装置１０１と、モニタ装置１０１でモニタリングしたテスト用構造化文書５０と構造化文書型定義文書４０とを入力とし構造化文書処理装置５５に接続された構造化文書テストシステム５４と、構造化文書脆弱性回避システム１２３とから構成される。構造化文書脆弱性回避システム１２３は、パターン検出装置１２１とパターン置き換え装置１２２とから構成される。パターン検出装置１２１は、構造化文書テストシステム５４から得られる脆弱性パターン７０と構造化文書型定義文書４０とを入力として、更に構造化文書処理要求装置１２０からの処理要求を受けて処理要求の中のパターン検出を行う。パターン置き換え装置１２２は、パターン検出装置１２１で脆弱性パターン７０にマッチした構造化文書を置き換える。
【００９４】
これらは、それぞれ概略次のように動作する。構造化文書処理発生装置１００は、構造化文書処理装置５５に対して、処理要求を出す装置であり、その処理要求をモニタ装置１０１でモニタリングしてテスト用構造化文書５０を作成する。そして、テスト用構造化文書５０とオプションとしての構造化文書型定義文書４０とを入力して受けた構造化文書テストシステム５４は、構造化文書処理装置５５をテストして、その結果として脆弱性パターン７０を生成する。この脆弱性パターン７０とオプションとしての構造化文書型定義文書４０とを入力して、更に構造化文書処理要求装置１２０からの構造化文書を処理要求として受けたパターン検出装置１２１は、前記処理要求の文書に脆弱性パターン７０が含まれているか否かを検査する。もし、脆弱性パターン７０が含まれていた場合は、その文書は、パターン置き換え装置１２２に渡されて、脆弱性パターン７０に当たらないパターンの構造化文書に変形する。そして、脆弱性パターン７０を含まない文書を構造化文書処理装置５５に渡す。
【００９５】
次に、第九実施形態の効果について説明する。本実施形態では、構造化文書処理装置５５に対する構造化文書処理発生装置１００からの処理要求をモニタリングしたデータをテスト用構造化文書５０として、構造化文書テストシステム５４の入力に利用して、この構造化文書テストシステム５４が生成した脆弱性パターン７０を利用して、構造化文書処理装置５５に対する構造化文書処理要求装置１２０からの処理要求を、脆弱性パターン７０が含まれない構造化文書に変形してから、構造化文書処理装置５５に渡すことができるので、構造化文書処理装置５５で処理できない構造化文書を回避することができる。
【００９６】
次に、第十実施形態について図面を参照して詳細に説明する。
【００９７】
図１３と図１４を参照すると、第十実施形態は、まず、図１３においては、構造化文書型定義文書４０、脆弱性パターン７０、構造化文書脆弱性回避システム１２３及び構造化文書処理装置５５は、一つの計算機Ｂ１５１に配置して構成される。一方、図１４においては、構造化文書型定義文書４０、脆弱性パターン７０と及び構造化文書脆弱性回避システム１２３は一つの計算機Ｃ１６１に配置され、構造化文書処理装置５５は別の計算機Ｂ１６２に配置して構成される。
【００９８】
これらはそれぞれ概略次のように動作する。図１３の構成では、構造化文書処理装置５５は、直接外部に見えなく、外部からの処理要求は、全て構造化文書脆弱性回避システム１２３に与えられる。したがって、構造化文書処理要求装置１２０は、計算機Ａ１５０から、いかなる構造化文書の形式の処理要求を出しても、計算機Ｂ１５１の処理装置は応答できるように動作する。一方、図１４の構成では、計算機Ｂ１６２上の構造化文書処理装置５５を直接呼び出す場合は、受理できない構造化文書が存在する。それを、別の計算機Ｃ１６１に配置された構造化文書脆弱性回避システム１２３を利用することで、外部の計算機上のサービスで、処理の脆弱性を回避することができる。
【００９９】
次に、第十実施形態の効果について説明する。本実施形態は、構造化文書脆弱性回避システム１２３を構造化文書処理装置５５と同じ計算機で実現して、外部には品質強化した処理システムと見せることができる方法と、構造化文書脆弱性回避システム１２３を外部に配置し、脆弱性を回避するサービスを外部で提供することができる方法との二つの方法があり、それぞれに異なる目的で利用することができる。
【実施例１】
【０１００】
次に、具体的な実施例を用いて本発明に係る実施形態の動作を説明する。
【０１０１】
図１５に具体的な構造化文書の例として、４つのＸＭＬ（extensible markup language）文書を示す。この４つのＸＭＬ文書は、名前空間に対する表現形式は異なっているが、意味的な内容は同じである。まず、例１７０では、名前空間URIがhttp://nec.com/nameであるもののprefixとして、prnを設定し、nameやfirst、lastの要素名を、prn:name、prn:first、prn:lastとして表現している。例１７１では、同じ名前空間URIに対して、要素ごとに異なるprefixを、prn、prn1、prn2と設定し、それぞれの要素名をprn:name、prn1:first、prn2:lastとして表現している。例１７２では、名前空間URIを既定値に設定し、要素名にはprefixを利用せずに、name、first、lastとだけ表現している。例１７３では、名前空間URIのprefixをprnに設定していることは、例１７０と同様であるが、prefixの宣言文の前に、複数のスペースが入力されているところが例１７０とは異なる。
【０１０２】
図１５では、名前空間に対するprefixの宣言の違いと、スペースの入力の違いについて述べたが、この他にも、意味的に同じである文書で、表現が異なるものとしては、属性値の囲みがダブルクォートかシングルクォートか、文字コードがUTF-8かUTF-16か、などの様々な派生表現が存在している。
【０１０３】
図１の構造化文書派生システム３４では、ある一つの表現形式の構造化文書３０を入力として、様々な派生文書を生成する。例えば、例１７０の構造化文書３０を入力すると、それが、構造化文書入力部３１に渡され、内部表現に変換した後、構造化文書派生生成部３２において派生文書が生成される。この時に、どのような派生文書を生成するかの知識として、派生関数３３が用意される。この派生関数３３は、例えば、名前空間URIに対するprefixの付け方についての派生方法が組み込まれていて、例１７１〜例１７３のような構造化文書を自動生成し、同一内容で表現が違う構造化文書群３５として出力する。
【０１０４】
次に、具体的な実施例を用いて第二実施形態の動作を説明する。
【０１０５】
図１５に示す構造化文書例は、全て意味的に等価であり、これらに共通する構造化文書型定義文書１８０を図１６に示す。図１６の構造化文書型定義文書１８０を使って、構造化文書の派生文書を作成する場合は、図３の構造化文書派生システム３４を用いる。構造化文書定義文書の例１８０は、構造化文書型定義文書４０として、構造化文書型定義文書入力部４１によって解釈され、構造化文書派生生成部３２が派生形を生成する時の補助知識を与える。例えば、要素のデータ型情報を知ることによって、例えば、整数型の要素であれば、"+1"と"1"は等価であることがわかり、符号なしの整数に"+"をつけるような派生形を生成できるようになる。
【０１０６】
次に、具体的な実施例を用いて第五実施形態の動作を説明する。
【０１０７】
図５において、例えば、テスト用構造化文書５０として例１７０を入力し、構造化文書型定義文書４０として例１８０を入力する。このとき、構造化文書派生システム３４では、例えば、例１７１〜例１７３のような派生形を生成する。この派生形の構造化文書を用いて、構造化文書処理装置５５に対して受理可能なテスト実施装置５１でテストする。例えば、構造化文書処理装置５５は、SOAPを受信できるサービスであり、その引数に、例１７０〜例１７３のようなnameという要素を持つSOAPのメッセージ呼び出しを行う。それぞれのメッセージ呼び出しが正しく処理できたか否かを記録し、テスト解析装置５２で脆弱性パターン７０とテスト結果５３とを出力する。脆弱性パターン７０の一例を図１７の例８０に示す。この例では、feature要素のtarget属性に派生の種類が記述され、option要素のfunction要素に、派生するための個別のキーワードが記述されている。そして、option要素のresult要素に、処理装置が受理可能であったかどうかをvalid,invalidで表現する。例えば、character-setという派生の種類に対して、utf-8の派生形は、validであって、テストに合格している。一方、utf-16の派生形は、invalidである。
【０１０８】
次に、具体的な実施例を用いて第八実施形態の動作を説明する。
【０１０９】
図９について、図１７の脆弱性パターンの例８０を用いると、構造化文書処理要求装置１２０からの要求を、構造化文書処理装置５５に渡す時に、受理できない構造化文書を受理できる構造化文書に置き換えることができる。例えば、例８０を用いると、構造化文書処理装置５５に引き渡す時に、utf-8の文書はそのまま引き渡せるが、utf-16の文書はパターン置き換え装置１２２でutf-8の文書に置き換えてから引き渡すと、構造化文書処理装置５５が受理可能になる。
【産業上の利用可能性】
【０１１０】
本発明によれば、ＸＭＬやＳＧＭＬ（standard generalized markup language）のような構造化文書をコンピュータ間でやりとりして処理を行うシステムに対して、テストケースのＸＭＬやＳＧＭＬを大量に生成するといった用途に適用できる。また、ＸＭＬやＳＧＭＬのような構造化文書をコンピュータ間でやりとりして処理を行うシステムに対して、様々な派生形文書を用いて、処理装置をテストするといった用途にも適用できる。また、ＸＭＬやＳＧＭＬのような構造化文書をコンピュータ間でやりとりして処理を行うシステムに対して、処理装置の処理の脆弱性を回避するといった用途にも適用できる。
【図面の簡単な説明】
【０１１１】
【図１】第一実施形態の構成を示すブロック図である。
【図２】第一実施形態の動作を示す流れ図である。
【図３】第二実施形態の構成を示すブロック図である。
【図４】第三実施形態の構成を示すブロック図である。
【図５】第四実施形態の構成を示すブロック図である。
【図６】第五実施形態の構成を示すブロック図である。
【図７】第六実施形態の構成を示すブロック図である。
【図８】第六実施形態の動作を示す流れ図である。
【図９】第七実施形態の構成を示すブロック図である。
【図１０】第七実施形態の動作を示す流れ図である。
【図１１】第八実施形態の構成を示すブロック図である。
【図１２】第九実施形態の構成を示すブロック図である。
【図１３】第十実施形態の構成を示すブロック図である。
【図１４】第十実施形態の構成を示す、もう一つのブロック図である。
【図１５】第一実施形態の動作の具体例を示す図である。
【図１６】第二実施形態の動作の具体例を示す図である。
【図１７】第四実施形態の動作の具体例を示す図である。
【図１８】従来の構造化文書テスト生成システムを示すブロック図である。
【図１９】従来の構造化文書変換システムを示すブロック図である。
【符号の説明】
【０１１２】
１０  構造化文書型定義文書
１１  構造化文書型定義文書入力手段
１２  構造化文書型定義文書解析手段
１３  テストプログラム生成手段
１４  構造化文書テスト生成システム
１５  テストプログラム
２０  構造化文書
２１  構造化文書型変換定義文書
２２  構造化文書型変換定義文書入力手段
２３  構造化文書入力手段
２４  構造化文書変換手段
２５  目的形式の構造化文書
３０  構造化文書
３１  構造化文書入力部
３２  構造化文書派生生成部
３３  派生関数
３４  構造化文書派生システム
３５  同一内容で表現が違う構造化文書群
４０  構造化文書型定義文書
４１  構造化文書型定義文書入力部
５０  テスト用構造化文書
５１  テスト実施装置
５２  テスト解析装置
５３  テスト結果
５４  構造化文書テストシステム
５５  構造化文書処理装置
７０  脆弱性パターン
８０  脆弱性パターン例
９０  テスト結果表示装置
１００  構造化文書処理発生装置
１０１  モニタ装置
１２０  構造化文書処理要求装置
１２１  パターン検出装置
１２２  パターン置き換え装置
１２３  構造化文書脆弱性回避システム
１５０  計算機Ａ
１５１  計算機Ｂ
１６０  計算機Ａ
１６１  計算機Ｃ
１６２  計算機Ｂ
１７０  構造化文書例
１７１  構造化文書例
１７２  構造化文書例
１７３  構造化文書例
１８０  構造化文書型定義文書例
【図１】
2005284522.tif 000003
【図２】
2005284522.tif 000004
【図３】
2005284522.tif 000005
【図４】
2005284522.tif 000006
【図５】
2005284522.tif 000007
【図６】
2005284522.tif 000008
【図７】
2005284522.tif 000009
【図８】
2005284522.tif 000010
【図９】
2005284522.tif 000011
【図１０】
2005284522.tif 000012
【図１１】
2005284522.tif 000013
【図１２】
2005284522.tif 000014
【図１３】
2005284522.tif 000015
【図１４】
2005284522.tif 000016
【図１５】
2005284522.tif 000017
【図１６】
2005284522.tif 000018
【図１７】
2005284522.tif 000019
【図１８】
2005284522.tif 000020
【図１９】
2005284522.tif 000021