[go: up one dir, main page]

JP2014086048A - 検証装置、検査方法およびプログラム - Google Patents

検証装置、検査方法およびプログラム Download PDF

Info

Publication number
JP2014086048A
JP2014086048A JP2012237244A JP2012237244A JP2014086048A JP 2014086048 A JP2014086048 A JP 2014086048A JP 2012237244 A JP2012237244 A JP 2012237244A JP 2012237244 A JP2012237244 A JP 2012237244A JP 2014086048 A JP2014086048 A JP 2014086048A
Authority
JP
Japan
Prior art keywords
transition
test data
determination value
rule
decoding device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012237244A
Other languages
English (en)
Inventor
Yumiko Sakai
弓子 坂井
Yusuke Doi
裕介 土井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012237244A priority Critical patent/JP2014086048A/ja
Priority to US14/025,520 priority patent/US9075737B2/en
Publication of JP2014086048A publication Critical patent/JP2014086048A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

【課題】復号装置の動作保証をすることのできるテストを容易に実行することができる検証装置を提供する。
【解決手段】符号化規則生成部は、定義文書に基づいて、状態遷移を定義した符号化規則を生成する。テストデータ生成部は、前記符号化規則にしたがって、テスト用データを生成する。エラー規則生成部は、前記状態遷移の遷移数と、前記遷移数を表現するために必要なビット数が表現することのできる最大数との間に差分が生じている場合に、前記差分に相当するエラー規則を前記符号化規則に対して追加する。判定値生成部は、前記符号化規則にしたがって、全ての前記状態遷移の組み合わせに対応付けて正常な遷移であるか、異常な遷移であるかを示す判定値を生成する。検証部は、前記復号装置に対して前記テスト用データを入力した結果である出力判定値と、前記判定値とを比較して、互いに異なる場合に、前記復号装置が正常ではないと判定する。
【選択図】図1

Description

本発明の実施形態は、検証装置、検査方法およびプログラムに関する。
従来、XMLなどの構造化文書においては、文書のデータ量が大きくなる傾向にあるため、高速なデータ処理や大量のXML文書のデータを扱う処理には向いていなかった。そこで、効率的、かつ高速なデータ処理のための規格としてEXI(Efficient XML Intarchange)が提訴されている。EXIは、XML文書をXMLスキーマにしたがってバイナリー化したEXIストリームへと変換する。バイナリー化されたデータは、データ容量が劇的に低減されることから、効率的なデータの通信や処理に寄与することができる。
また、上記のようにバイナリー化されたデータをユーザが実際に確認する場合には、XML文書をバイナリー化する際に用いた状態機械と同様のロジックを有する復号装置にEXIストリームを入力し、元のXML文書が出力される。出力されたXML文書は自然言語によって記述されているため、ユーザはその内容を確認することができるようになる。
特開2007−226813号公報
上述のようにEXIストリーム化された構造化文書を適切に扱うためには復号装置が正常に稼動している必要がある。そのために、復号装置は実際の運用に先立って、XML文書から生成したEXIストリームを入力値としてテストを行い、正常に復号化できたか否かを確認することが望ましい。しかしながら、XML文書は、無限の組み合わせが存在するため、単にXML文書を入力値として生成したEXIストリームをテスト用データとして使用するだけでは復号装置の動作を保証する事ができない。
実施形態は、上記課題を鑑みてなされたものであり、復号装置の動作保証をすることのできるテストを容易に実行することができる検証装置を提供することにある。
実施形態の検証装置は、受付部と、符号化規則生成部と、テストデータ生成部と、エラー規則生成部と、判定値生成部と、検証部とを備える。符号化規則生成部は、定義文書に基づいて、状態遷移を定義した符号化規則を生成する。
テストデータ生成部は、前記符号化規則にしたがって、テスト用データを生成する。エラー規則生成部は、前記状態遷移の遷移数と、前記遷移数を表現するために必要なビット数が表現することのできる最大数との間に差分が生じている場合に、前記差分に相当するエラー規則を前記符号化規則に対して追加する。判定値生成部は、前記符号化規則にしたがって、全ての前記状態遷移の組み合わせに対応付けて正常な遷移であるか、異常な遷移であるかを示す判定値を生成する。
検証部は、前記復号装置に対して前記テスト用データを入力した結果である出力判定値と、前記判定値とを比較して、互いに異なる場合に、前記復号装置が正常ではないと判定する。
第1の実施形態の検証装置の機能構成を示すブロック図である。 第1の実施形態の検証装置の機能構成の詳細を示すブロック図である。 第1の実施形態の検証装置において用いられるXMLスキーマの例である。 第1の実施形態の検証装置における状態遷移の例である。 第1の実施形態の検証装置における状態遷移図である。 第1の実施形態の検証装置における状態遷移にエラー遷移を追加した例である。 第1の実施形態の検証装置における状態遷移にエラー遷移を追加した状態遷移図である。 第1の実施形態のテストストリームの例である。 第1の実施形態のテストパターンの例である。 第1の実施形態のテストストリームが復号化されたデータである。 第1の実施形態の検証装置における状態遷移にエラー遷移を追加する処理の流れを示すフロー図である。 第1の実施形態の検証装置におけるテストストリームを生成する処理の流れを示すフロー図である。 第2の実施形態の検証装置の機能構成の詳細を示すブロック図である。 第2の実施形態の生成途中のテストストリームの生成情報の例である。 第2の実施形態の検証装置における状態遷移にエラー遷移を追加する処理の流れを示すフロー図である。
(第1の実施形態)
以下、検証装置100を実施形態として具体化した例について図面を参照して説明する。図1に示されるように、検証装置100は、テストパターン生成部110、及び検証部120を備えている。テストパターン生成部110は、入力されたXMLスキーマに基づいて、テスト用データであるテストストリームと、テストパターンを生成する。テストストリームは復号装置であるデコーダ200に入力され、テストパターンは、検証部120へと入力される。検証部120には、デコーダ200にテストストリームを入力して復号化し、復号化したデータが正常であるか否かの結果が入力され、デコーダ200からの結果と、テストパターンとに含まれる判定値とが一致するか否かによって、デコーダ200の動作が正常であるか否かを判定し、検証結果を出力する。
図3は、本実施形態のXMLスキーマの例である。XMLスキーマはXML文書の構文ルールを記載したものであり、図3に示されるXMLスキーマにおいては、「sample」という名前の「element」を定義しており、sampleには、登場回数が1以上の整数型の要素「ID」と、登場回数が0以上1以下の文字型の要素「description」とが順に含まれることが定義されている。
図2は、上述したテストパターン生成部110の詳細な機能構成を示した図である。図2に示されるように、テストパターン生成部110は、符号化規則生成部111、エラー規則生成部112、及びテストデータ生成部113を備えている。符号化規則生成部111は、XMLスキーマの入力を受け付けるとともに、XMLスキーマに基づいて、XML文書をバイナリデータへと符号化する際に用いられる状態遷移を定義した符号化規則を生成する。したがって、符号化規則生成部111は、受付部を兼ねている。
図4は、生成された符号化規則の一例を示す図であり、図5は、符号化規則を状態遷移表の形式で示したものである。XMLスキーマから、符号化規則を生成する方法については、既存のEXI規格で定義されている方法によって行うことができる。図4で示される符号化規則においては、丸で囲まれたElement1やElement2は、それぞれイベントが発生した後の状態を示し、矢印が遷移を示している。例えば、StartElement(id)とは、「id」という要素が割り当てられているタグがあった場合にStartElement(id)という遷移のイベントが発生するということを示している。また、各遷移に割り当てられている「0」等の数字はコンパクトIDである。コンパクトIDにおける大文字の数字は、ある状態から遷移できるイベントに対して、それぞれ0から始まる互いに異なる整数を割り当てたものである。すなわち、Startからは「0」の1つの遷移が、Element1からは「0」「1」「2」の3つの遷移が、Element2からは「0」の1つの遷移がとりうることを示したものである。また、下付文字で示された数字は、ある状態から移りうる遷移をそれぞれ互いに識別可能に表現することのできる最小のビット幅である。例えば、Element2から派生するイベントに付与されている「」とは、4通りの遷移を識別可能であることを示している。そして、この状態遷移を定義した符号化規則に対して、構造化文書が付与されると、構造化文書中のタグによって、遷移が行われ、遷移が行われるごとにコンパクトIDが、符号化される値として付与される。したがって、デコーダ200においては、逆にコンパクトIDを入力として、イベント(遷移)を出力する。例えば、Element1の状態で、1という入力があると、StartElement(description)というイベントを出力する。
次いで、図2に戻り、エラー規則生成部112は、生成された符号化規則を入力とし、エラー規則を付与してエラー規則付き符号化規則を出力する。エラー規則の詳細について図6、及び図7を用いて説明する。図6、7に示されるように、状態遷移には、Element1から遷移するErrorという状態が付加されており、遷移には3というコンパクトIDが付与されている。Element1の状態から可能な遷移数は3通りあり、すなわちXMLスキーマによって正しい遷移は3通りとなっている。一方で、Element1からの遷移に割り当てられたビット幅は2であるため、00、01、10、11の4通りの数値を取りうることができる。デコーダ200における復号では、予め定められたビット幅分のストリームを読み込み、その値から対応するイベントを判別する。したがって、デコーダ200には、Element1の状態において3という入力がされる可能性があるが、このコンパクトIDに対応する遷移は定義されていない。したがって、デコーダ200において、本来XMLスキーマ上エラーである入力3がエラーであると正しく判定できるかを検証ためには、3のコンパクトIDに対応するテスト用のデータを生成できるようにする必要がある。そこで、本実施形態においては、符号化規則においてエラー規則としてErrorへの遷移を追加している。
以下、エラー規則の追加に係る処理の流れを図11のフロー図を用いて説明する。まず、エラー規則生成部112は、符号化規則を取得する(ステップS101)。取得した際には、符号化規則のうち「Start」が選択されている状態である。次いで、エラー規則生成部112は、現在の状態から遷移可能な遷移数が2のべき乗であるか否かを判定する(ステップS102)。遷移数が2のべき乗でないと判定された場合(ステップS102:No)、すなわち1、2、4、8・・・でない場合は、エラー規則を追加し、コンパクトIDとして値に現在の遷移のうち最も大きい値に1加算したものを設定するとともに、ビット幅に同じ遷移に割り当てられている値を設定する(ステップS103)。エラー規則が追加されることで、遷移数は1加算されており、ステップS103に戻って遷移数が2のべき乗になるまで処理を繰り返す。一方、遷移数が2のべき乗であると判定された場合(ステップS102:Yes)、エラー規則生成部112は、全ての状態に対して遷移数のチェックが完了したか否かを判定する(ステップS104)。全てチェック完了している場合(ステップS104:Yes)、処理を終了する。チェックが完了していない場合(ステップS104:No)、次の、まだ遷移数を確認していない状態へと遷移し、ステップS102からの処理を繰り返す(ステップS105)。したがって、図6、7に示される状態遷移では、Element1からの遷移数のみが2のべき乗にならないため、エラー規則としてErrorの遷移が生成されて追加される。
次いで、図2に戻り、テストデータ生成部113は、エラー規則付き符号化規則を入力として、デコーダ200に入力されるテスト用データと、検証部120入力されるテストパターンとを出力する。図8はテスト用データの例を示しており、図9はテストパターンの例を示している。テスト用データは、StarからEnd、またはStarからErrorにいたるまでの遷移の組み合わせに対して1つのビットストリームとして生成される。以下、図12のフローチャーを用いて、テスト用データ、及びテストパターンの生成の処理の流れを説明する。図12に示されるように、まずテストデータ生成部113は、入力されたエラー規則付き符号化規則に使用していない遷移があるか否かを判定する(ステップS201)。使用していない遷移がないと判定された場合(ステップS201:No)、処理を終了する。一方、使用していない遷移の組み合わせがあると判定された場合(ステップS201:Yes)、テストデータ生成部113は、使用していない遷移のうちから1つを選択してStartから遷移を実行し、遷移に相当するビットをテスト用データに追加する(ステップS202)。このとき追加されるビットは、遷移に付加されているコンパクトIDを符号化したものである。このとき、テストデータ生成部113は、遷移先の状態がERRORであるか否かを判定する(ステップS203)。
ERRORであると判定された場合(ステップS203:Yes)、テストデータ生成部113は、それまでに付加されたビットをテスト用データとして出力する(ステップS207)。一方、ERRORでないと判定された場合(ステップS203:No)、テストデータ生成部113は、選択した組み合わせにおける次の遷移を実行し、遷移に相当するビットをテスト用データに追加する(ステップS204)。
そして、テストデータ生成部113は、遷移先の状態がERRORであるか否かを判定する(ステップS205)。ERRORであると判定された場合(ステップS205:Yes)、テストデータ生成部113は、それまでに付加されたビットをテスト用データとして出力する(ステップS207)。一方、ERRORでないと判定された場合(ステップS205:No)、テストデータ生成部113は、遷移先の状態がENDであるか否かを判定する(ステップS206)。ENDであると判定された場合(ステップS206:Yes)、テストデータ生成部113は、それまでに付加されたビットをテスト用データとして出力する(ステップS207)。一方、ENDでないと判定された場合(ステップS206:No)、ステップS204からの処理を繰り返す。
以上の処理を得て出力されたテスト用データには、図8で示されるように、それぞれのビットストリームごとにテストストリームIDが割り当てられる。なお、テストストリームIDは、出力されたビットストリームの順番に従って付与してもよいし、全てのビットストリームを出力した後に、ランダムに付与してもよい。また、生成したテストストリームには、ビットがバイト単位になるように、不足しているビット分だけビット0をデータ長を調整するパディングとして追加する。なお、このパディングの追加は、テストデータ生成部113において各ストリームが出力される際に付与してもよいし、テスト用データを別の部位で加工して付与するようにしてもよい。
また、図9に示されるように、テストパターンは、生成されたテスト用データに対して、ビットストリームがERRORの状態に移行することで出力されたものであるか否かを示す判定値である、正常ストリーム/異常ストリームの値や、符号化前のXML形式の情報、パディングを付与する前のビット数の情報などが加えられたものである。この際、必須となるのは正常ストリーム/異常ストリームの値である。したがって、本実施形態においては、テストデータ生成部113が、符号化規則にしたがって、全ての状態遷移の組み合わせに対応付けて正常な遷移であるか、XMLスキーマで定義されていない遷移であるかを示す判定値を生成する判定値生成部として機能する。
そして、生成されたテスト用データは、デコーダ200に入力され、デコーダ200は復号化の結果として、図10に示す復号結果を出力する。復号化結果としては、入力値と同様のテストストリームIDとビットストリームに加え、復号した結果が、正しいビットストリームであったか否かを判定する出力判定値である復号可否の値を出力する。すなわち、ERRORへの状態遷移によって生成されたビットストリームに対しては、「不可」の値が出力されると想定される。
検証部120は、デコーダ200から入力された出力判定値と、テストパターンに含まれる判定値とで、同じテストストリームIDが付与されている値を比較して、一致するか否かを判定する。すなわち、両方の入力値から、ERRORへの状態遷移によって生成されたビットストリームはエラーとしてデコーダ200が認識し、正常なビットストリームは正常であるとデコーダ200が認識してそれぞれ処理しているか否かを検証することで、デコーダ200の検証が行われる。そして、検証部120は、検証結果として、互いの入力値が一致している場合はデコーダ200の動作が正常である旨を示す検証結果を出力し、一致していない場合は、デコーダ200の動作に異常がある旨を検証結果として出力する。
また、他のデコーダ200の検証方法としては、上記検証の方法に加え、デコーダ200が、入力されたビットストリームのうち、パディング部分は読み出しを行わないように設定し、パディングを付加する前のビットストリームの長さと、ビットストリームのうちデコーダ200によって解析されたデータサイズとが一致するか、又はパディングのデータサイズと、ビットストリームのうちデコーダ200によって解析されなかった部分のデータサイズとが一致するかを検証し、一致する場合にデコーダ200の動作が正しいと判定するような検証を行うこともできる。また、パディングとして解析のされなかった部分のデータサイズが8bit以下であるかを確認したり、復号前のXML文書と復号後のXML文書とを比較したりすることによって、デコーダ200を検証することもできる。
このように、エラー規則を追加することで、デコーダ200に追加される可能性のあるビットの組み合わせのテスト用データを生成することができるようになり、正しい入力に対して正しい出力を行えるだけではなく、異常な入力を正常であると誤認せず、異常なものとして処理することができることを検証することができるようになり、デコーダ200の動作保証をすることのできるテストを容易に実行することができるようになる。
(第2の実施形態)
次に、検証装置100の第2の実施形態について説明する。図13は、第2の実施形態のテストパターン生成部210の詳細な構成を示す図である。テストパターン生成部210は、符号化規則生成部111、テストデータ生成部212、異常テストデータ生成部213を備えている。符号化規則生成部111は、第1の実施形態と同様である。
テストデータ生成部212は、符号化規則を入力として、符号化規則の遷移をたどっていくことで生成される正常テストストリームと、テストパターン、及び生成途中のテストストリームを出力する。正常テストストリームは、第1の実施形態の実施形態のうち、エラー規則が付与される前の状態で生成可能なテスト用データと同様のものであり、テストパターンは第1の実施形態と同様のものである。また生成途中のテストストリームとは、ある遷移の組み合わせの中で、状態が1つ遷移される毎に生成されて、異常テストデータ生成部213へと入力される。図14は、生成途中のテストストリームの一例である。
図14に示されるように、生成途中のテストストリームには、ビットストリームのほかに、現在のビット数や、現在の状態から分岐可能な遷移数、現在の状態から分岐可能な遷移数を識別可能な態様で示すことができるビット幅などの生成情報が含まれている。なお、テストパターンにおいてビット数を出力しない場合には、現在のビット数は含まれていなくてもよい。こうした、生成途中のビットストリームは、異常テストデータ生成部213に入力され、異常テストデータ生成部213は、エラーとなりうるテストパターンを生成する必要があると判定した場合には、異常テストストリームを生成する処理を行う。また、テストデータ生成部212により生成されたテストパターンに、エラーとなる場合のテストストリームに対応したテストパターンを追加する。なお、異常テストデータ生成部213に対しては全ての生成途中のテストストリームを入力するようにしてもよいし、テストストリームの生成時に選択した遷移の組み合わせの中に、遷移数とビット幅との間に差異が生じる状態を含んでいるストリームのみを出力するようにしてもよい。したがって、本実施形態においては、テストデータ生成部212が生成情報出力部を兼ねているが、別に、生成途中のテストストリームと符号化規則とから、生成情報のみを出力する構成を設けてもよい。
以下、図15のフローチャートを用いて異常テストストリームを生成する処理の流れについて説明する。図15に示されるように、異常テストデータ生成部213は、まず入力された生成途中のテストストリームを取得する(ステップS301)。次いで、異常テストデータ生成部213は、生成途中のテストストリームに含まれる生成情報の遷移数が2のべき乗であるか否かを判定する(ステップS302)。遷移数が2のべき乗である場合(ステップS302:Yes)、処理を終了する。一方、遷移数が2のべき乗でない場合(ステップS302:No)、現在の遷移数に1加算した数に対応するビットを生成して、生成途中のビットストリームに追加して、異常テストストリームを生成する(ステップS303)。この時点で、遷移数は1追加されているため、ステップS302に戻り以降の処理を繰り返し行う。例えば、図14で示した生成途中のテストストリームの場合、遷移数が5であるため、101を生成途中のテストストリームに追加した異常テストストリームと、110を生成途中のテストストリームに追加した異常テストストリームと、111を生成途中のテストストリームに追加した異常テストストリームと、が生成される。異常テストストリームはデコーダ200に入力されるとともに、テストパターンにも追加される。
そして、異常テストストリームと、正常なテストストリームとが、ともにデコーダ200に入力され、以降、第1の実施形態と同じように検証部120において、デコーダ200からの出力判定値と、テストパターンの判定値とから、デコーダ200の動作の検証を実施することができる。
本実施形態の検証装置100にあっては、エラー規則を予め生成することなく、生成途中のテストストリームの遷移数から、エラーとなる異常テストストリームを生成するか否かを判定し、第1の実施形態と同様のデコーダ200の動作検証を行うことができるようになる。
以上の各実施形態の検証装置は、例えばCPUなどの制御装置と、ROM(Read Only Memory)やRAMなどの記憶装置と、HDD、CDドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
以上の各実施形態の検証装置はで実行される検証プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、以上の各実施形態の検証プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、以上の各実施形態の検証装置で実行される検証プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、以上の各実施形態の検証プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
以上の各実施形態の検証装置はで実行される検証プログラムは、上述した各部(テストパターン生成部、検証部)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記記憶媒体から検証プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、テストパターン生成部、検証部が主記憶装置上に生成されるようになっている。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100 検証部
110 テストパターン生成部
111 符号化規則生成部
112 エラー規則生成部
113 テストデータ生成部
120 検証部
200 デコーダ
210 テストパターン生成部
212 テストデータ生成部
213 異常テストデータ生成部

Claims (6)

  1. 構造化文書の文法を定義する定義文書の入力を受け付ける受付部と、
    受け付けられた前記定義文書に基づいて、前記構造化文書をバイナリデータへと符号化する際に用いられる状態遷移を定義した符号化規則を生成する符号化規則生成部と、
    符号化された前記構造化文書を復号化する復号装置へと入力され、前記符号化規則にしたがって、全ての前記状態遷移の組み合わせをビットで示したテスト用データを生成するテストデータ生成部と、
    前記状態遷移の遷移数と、前記遷移数を表現するために必要なビット数が表現することのできる最大数との間に差分が生じている場合に、前記差分に相当するエラー規則を前記符号化規則に対して追加するエラー規則生成部と、
    前記符号化規則にしたがって、全ての前記状態遷移の組み合わせに対応付けて正常な遷移であるか、異常な遷移であるかを示す判定値を生成する判定値生成部と、
    前記復号装置に対して前記テスト用データを入力した結果である、前記状態遷移の組み合わせに対応付けられた正常な遷移であるか、異常な遷移であるかを示す出力判定値と、前記判定値とを比較して、互いに異なる場合に、前記復号装置が正常ではないと判定する検証部と、
    を備えることを特徴とする検証装置。
  2. 構造化文書の文法を定義する定義文書の入力を受け付ける受付部と、
    受け付けられた前記定義文書に基づいて、前記構造化文書をバイナリデータへと符号化する際に用いられる状態遷移を定義した符号化規則を生成する符号化規則生成部と、
    符号化された前記定義文書を復号化する復号装置へと入力され、前記符号化規則にしたがって、全ての前記状態遷移の組み合わせをビットで示したテスト用データを生成するテストデータ生成部と、
    前記テスト用データに前記状態遷移に対応するビットが付加されるごとに、前記テスト用データのある状態遷移から遷移可能な遷移数を含む生成情報と、生成途中の前記ビットが付加された生成中テスト用データと、を出力する生成情報出力部と、
    出力された前記遷移数と、前記遷移数を表現するために必要なビット数が表現することのできる最大数との間に差分が生じている場合に、前記生成中テスト用データに異常なデータであることを示すエラービットを付加して、異常テスト用データを生成する異常テストデータ生成部と、
    前記符号化規則にしたがって、全ての前記状態遷移の組み合わせに対応付けて正常な遷移であるか、異常な遷移であるかを示す判定値を生成する判定値生成部と、
    前記復号装置に対して前記テスト用データ、及び前記異常テスト用データを入力した結果である、前記状態遷移の組み合わせに対応付けられた正常な遷移であるか、異常な遷移であるかを示す出力判定値と、前記判定値とを比較して、互いに異なる場合に、前記復号装置が正常ではないと判定する検証部と、
    を備えることを特徴とする検証装置。
  3. 前記テストデータ生成部は、前記テスト用データのデータ長を調整するパディングを付加するとともに、前記パディングを付加する前のデータ長を前記検証部に対して出力し、
    前記検証部は、前記復号装置から、前記テスト用データを復号化した際の既読ビット位置を入力として受け取り、
    前記判定値と前記出力判定値とを比較して、互いに異なる場合、又は前記データ長と、前記既読ビット位置とが異なる場合に、前記復号装置が正常ではないと判定する
    ことを特徴とする請求項1又は2に記載の検証装置。
  4. 前記テストデータ生成部は、前記テスト用データのデータ長を調整するパディングを付加するとともに、前記パディングのデータサイズを前記検証部に対して出力し、
    前記検証部は、前記復号装置から、前記テスト用データを復号化した際の未読ビット位置を入力として受け取り、
    前記判定値と前記出力判定値とを比較して、互いに異なる場合、又は前記データサイズと、前記未読ビット位置とが異なる場合に、前記復号装置が正常ではないと判定する
    ことを特徴とする請求項1又は2に記載の検証装置。
  5. 構造化文書の文法を定義する定義文書の入力を受け付ける受付ステップと、
    受け付けられた前記定義文書に基づいて、前記構造化文書をバイナリデータへと符号化する際に用いられる状態遷移を定義した符号化規則を生成する符号化規則生成ステップと、
    前記状態遷移の遷移数と、前記遷移数を表現するために必要なビット数が表現することのできる最大数との間に差分が生じている場合に、前記差分に相当するエラー規則を前記符号化規則に対して追加するエラー規則生成ステップと、
    符号化された前記定義文書を復号化する復号装置へと入力され、前記符号化規則にしたがって、全ての前記状態遷移の組み合わせをビットで示したテスト用データを生成するテストデータ生成ステップと、
    前記符号化規則にしたがって、全ての前記状態遷移の組み合わせに対応付けて正常な遷移であるか、異常な遷移であるかを示す判定値を生成する判定値生成ステップと、
    前記復号装置に対して前記テスト用データを入力した結果である、前記状態遷移の組み合わせに対応付けられた正常な遷移であるか、異常な遷移であるかを示す出力判定値と、前記判定値とを比較して、互いに異なる場合に、前記復号装置が正常ではないと判定する検証ステップと、
    を含むことを特徴とする検証方法。
  6. コンピュータに、
    構造化文書の文法を定義する定義文書の入力を受け付ける受付ステップと、
    受け付けられた前記定義文書に基づいて、前記構造化文書をバイナリデータへと符号化する際に用いられる状態遷移を定義した符号化規則を生成する符号化規則生成ステップと、
    前記状態遷移の遷移数と、前記遷移数を表現するために必要なビット数が表現することのできる最大数との間に差分が生じている場合に、前記差分に相当するエラー規則を前記符号化規則に対して追加するエラー規則生成ステップと、
    符号化された前記定義文書を復号化する復号装置へと入力され、前記符号化規則にしたがって、全ての前記状態遷移の組み合わせをビットで示したテスト用データを生成するテストデータ生成ステップと、
    前記符号化規則にしたがって、全ての前記状態遷移の組み合わせに対応付けて正常な遷移であるか、異常な遷移であるかを示す判定値を生成する判定値生成ステップと、
    前記復号装置に対して前記テスト用データを入力した結果である、前記状態遷移の組み合わせに対応付けられた正常な遷移であるか、異常な遷移であるかを示す出力判定値と、前記判定値とを比較して、互いに異なる場合に、前記復号装置が正常ではないと判定する検証ステップと、
    を実行させるためのプログラム。
JP2012237244A 2012-10-26 2012-10-26 検証装置、検査方法およびプログラム Pending JP2014086048A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012237244A JP2014086048A (ja) 2012-10-26 2012-10-26 検証装置、検査方法およびプログラム
US14/025,520 US9075737B2 (en) 2012-10-26 2013-09-12 Verification device, verification method and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012237244A JP2014086048A (ja) 2012-10-26 2012-10-26 検証装置、検査方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2014086048A true JP2014086048A (ja) 2014-05-12

Family

ID=50548630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012237244A Pending JP2014086048A (ja) 2012-10-26 2012-10-26 検証装置、検査方法およびプログラム

Country Status (2)

Country Link
US (1) US9075737B2 (ja)
JP (1) JP2014086048A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9760344B1 (en) 2016-02-23 2017-09-12 Bank Of America Corporation Rules engine having an interactive, dual, side-by-side display
US11693763B2 (en) * 2019-07-30 2023-07-04 General Electric Company Resilient estimation for grid situational awareness

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004302799A (ja) * 2003-03-31 2004-10-28 Nec Corp コンピュータシステム、コンピュータプログラム、コンピュータ間の通信方法、構造化文書の符号化方法、符号化された構造化文書の復号方法
JP2008204000A (ja) * 2007-02-16 2008-09-04 Canon Inc 符号化装置及びその制御方法、復号装置及びその制御方法、プログラム、記憶媒体

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2820563B1 (fr) 2001-02-02 2003-05-16 Expway Procede de compression/decompression d'un document structure
CN1889076A (zh) * 2005-06-27 2007-01-03 国际商业机器公司 定制数据库模式的移植差异检测方法和系统
US7844422B2 (en) * 2006-05-30 2010-11-30 International Business Machines Corporation Method and system for changing a description for a state transition function of a state machine engine
FR2926378B1 (fr) * 2008-01-14 2013-07-05 Canon Kk Procede et dispositif de traitement pour l'encodage d'un document de donnees hierarchisees
FR2927712B1 (fr) * 2008-02-15 2013-09-20 Canon Kk Procede et dispositif d'acces a une production d'une grammaire pour le traitement d'un document de donnees hierarchisees.
US8850309B2 (en) * 2008-03-27 2014-09-30 Canon Kabushiki Kaisha Optimized methods and devices for the analysis, processing and evaluation of expressions of the XPath type on data of the binary XML type
FR2936623B1 (fr) * 2008-09-30 2011-03-04 Canon Kk Procede de codage d'un document structure et de decodage, dispositifs correspondants
FR2939535B1 (fr) * 2008-12-10 2013-08-16 Canon Kk Procede et systeme de traitement pour la configuration d'un processseur exi
EP2219117A1 (en) * 2009-02-13 2010-08-18 Siemens Aktiengesellschaft A processing module, a device, and a method for processing of XML data
JP5166565B2 (ja) 2011-03-28 2013-03-21 株式会社東芝 Exiエンコーダおよびプログラム
JP5325921B2 (ja) 2011-03-28 2013-10-23 株式会社東芝 デコーダコンパイラ、プログラムおよび通信機器
JP5325920B2 (ja) 2011-03-28 2013-10-23 株式会社東芝 エンコーダコンパイラ、プログラムおよび通信機器
JP2013089183A (ja) * 2011-10-21 2013-05-13 Toshiba Corp Exiデコーダおよびプログラム
JP5670859B2 (ja) 2011-10-21 2015-02-18 株式会社東芝 記述方法、exiデコーダおよびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004302799A (ja) * 2003-03-31 2004-10-28 Nec Corp コンピュータシステム、コンピュータプログラム、コンピュータ間の通信方法、構造化文書の符号化方法、符号化された構造化文書の復号方法
JP2008204000A (ja) * 2007-02-16 2008-09-04 Canon Inc 符号化装置及びその制御方法、復号装置及びその制御方法、プログラム、記憶媒体

Also Published As

Publication number Publication date
US20140122945A1 (en) 2014-05-01
US9075737B2 (en) 2015-07-07

Similar Documents

Publication Publication Date Title
TW201815077A (zh) 極化碼之並列連續消除解碼與連續消除清單解碼的裝置和方法、製造方法及建立方法
US20110219357A1 (en) Compressing source code written in a scripting language
JPWO2009017131A1 (ja) ε遷移を含まない非決定性有限オートマトン生成システムと方法およびプログラム
US8849726B2 (en) Information processing apparatus and control method for the same
JP2016085731A (ja) Jsonドキュメントを表すexiドキュメントを符号化する方法及びコンピュータ可読媒体
US10230392B2 (en) Techniques for parallel data decompression
US8650217B2 (en) Compression method for a data transfer that is independent of computer architecture and/or decompression method for a data record
EP2230608B1 (en) Method and associated device and data structure for coding or decoding a structured document by means of an XML schema
JP5166565B2 (ja) Exiエンコーダおよびプログラム
JP6699200B2 (ja) シンプルデータタイプに対するグラマー生成
JP2014191613A (ja) エンコーダ、エンコード方法及びプログラム
US9798721B2 (en) Innovative method for text encodation in quick response code
JP2014086048A (ja) 検証装置、検査方法およびプログラム
JP5665821B2 (ja) 文書処理装置、及びプログラム
JP4355525B2 (ja) 検証支援方法、検証支援プログラムおよび検証支援装置
US8018359B2 (en) Conversion of bit lengths into codes
JPWO2011004524A1 (ja) テキストマイニング装置
CN107705340A (zh) 一种图像解码的方法及装置
US10019418B2 (en) Efficient XML interchange profile stream decoding
CN115834736B (zh) 一种二进制报文的声明式报文解码方法
Gómez‐Rodríguez et al. Undirected dependency parsing
JP2010186412A (ja) 文書管理方法及び管理装置
JP2011242956A (ja) ソフトウェア仕様の証明装置、及び証明方法
Konstantinidis et al. Error-detecting properties of languages
JP2011041081A (ja) 符号化装置、復号化装置、符号化方法、復号化方法、符号化プログラムおよび復号化プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150904

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20151102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160802

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170214