(57)【要約】【課題】漏れなく必要十分なテスト項目を定義できるようにする。【解決手段】多重イベント定義装置１００は検証対象に同時に発生する複数の単一イベントを組み合わせた多重イベントをテスト項目として定義する。２重イベント定義部１１０は単一イベント情報１９１に定義された複数の単一イベントを組み合わせて複数の２重イベント候補を定義し、同時に発生しない排他イベントとして排他情報１９２ｂに定義された２重イベントと同じ候補を除いて２重イベントを定義する。Ｎ重イベント定義部１２０は（Ｎ−１）重イベントを組み合わせてＮ重イベント候補を定義し、排他イベントを含むＮ重イベント候補を除いてＮ重イベントを定義する。多重イベント定義部１３０は単一イベント、２重イベントおよびＮ重イベントを定義した多重イベント定義情報１９５を生成する。多重イベント定義情報１９５に定義された各イベントは検証対象のテスト項目となる。【選択図】図１
2011048785.tif 000002
【特許請求の範囲】
【請求項１】
所定の状況がイベントとして発生する検証対象に発生する複数のイベントそれぞれが単一イベントとして定義された単一イベント情報と、同時に発生しない複数の単一イベントを組み合わせたイベント組み合わせが排他イベント組み合わせとして定義された排他イベント情報とを記憶するイベント情報記憶部と、
前記単一イベント情報に定義された複数の単一イベントを組み合わせて複数のイベント組み合わせそれぞれを、同時に発生する複数の単一イベントを組み合わせた多重イベント組み合わせの候補としてＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いて定義する多重イベント候補定義部と、
前記多重イベント候補定義部により定義された複数の多重イベント組み合わせの候補のうち前記排他イベント情報に定義された排他イベント組み合わせを含まない多重イベント組み合わせの候補を多重イベント組み合わせとしてＣＰＵを用いて特定する多重イベント特定部と、
前記多重イベント特定部により特定された多重イベント組み合わせを含む情報を多重イベント情報としてＣＰＵを用いて生成する多重イベント情報生成部と
を備えたことを特徴とする多重イベント定義装置。
【請求項２】
前記排他イベント情報には、二つの単一イベントを組み合わせた排他イベント組み合わせが定義され、
前記多重イベント候補定義部は、二つの単一イベントを組み合わせて複数の二重イベント組み合わせの候補を定義し、
前記多重イベント特定部は、複数の二重イベント組み合わせの候補のうち前記排他イベント組み合わせと異なる二重イベント組み合わせの候補を二重イベント組み合わせとして特定し、
前記多重イベント情報生成部は、前記二重イベント組み合わせを含めて前記多重イベント情報を生成する
ことを特徴とする請求項１記載の多重イベント定義装置。
【請求項３】
前記多重イベント候補定義部は、（Ｎ−１）つの単一イベントが互いに共通する二つのＮ重イベント組み合わせを組み合わせて（Ｎ＋１）つの単一イベントを組み合わせた（Ｎ＋１）重イベント組み合わせの候補を定義し、
前記多重イベント特定部は、複数の（Ｎ＋１）重イベント組み合わせの候補のうち前記排他イベント組み合わせを含まない（Ｎ＋１）重イベント組み合わせの候補を（Ｎ＋１）重イベント組み合わせとして特定し、
前記多重イベント情報生成部は、（Ｎ＋１）重イベント組み合わせを含めて前記多重イベント情報を生成する
ことを特徴とする請求項２記載の多重イベント定義装置。
【請求項４】
前記多重イベント候補定義部は、前記多重イベント特定部により特定された（Ｎ＋１）重イベント組み合わせが有る場合、（Ｎ＋２）重イベント組み合わせの候補を定義し、前記多重イベント特定部により特定された（Ｎ＋１）重イベント組み合わせが無い場合、多重イベント組み合わせの候補の定義を終了する
ことを特徴とする請求項３記載の多重イベント定義装置。
【請求項５】
前記イベント情報記憶部は、同時に発生する二つの単一イベントを組み合わせたイベント組み合わせが関連イベント組み合わせとして定義された関連イベント情報を記憶し、
多重イベント特定部は、複数の二重イベント組み合わせの候補のうち前記関連イベント情報に定義された関連イベント組み合わせと同じ二重イベント組み合わせの候補を二重イベント組み合わせとして特定する
ことを特徴とする請求項２〜請求項４いずれかに記載の多重イベント定義装置。
【請求項６】
前記多重イベント特定部は、前記関連イベント組み合わせと前記排他イベント組み合わせとのいずれとも異なる二重イベント組み合わせの候補を出力装置に出力し、当該二重イベントの組み合わせの候補を二重イベントの組み合わせとするか否かを判断した利用者の判断結果を入力装置から入力し、入力した利用者の判断結果に基づいて当該二重イベント組み合わせの候補を二重イベント組み合わせとするか否かを判定する
ことを特徴とする請求項５記載の多重イベント定義装置。
【請求項７】
請求項１〜請求項６いずれかに記載の多重イベント定義装置と、
前記検証対象に対して所定のテストをＣＰＵを用いて実行し、テストの実行ログをＣＰＵを用いて記録するテスト実行部と、
前記テスト実行部により記録されたテストの実行ログに基づいて、前記多重イベント情報に定義された多重イベント組み合わせのうち前記テストにおいて発生した多重イベント組み合わせを示す多重イベント発生情報をＣＰＵを用いて生成する多重イベント発生情報生成部と
を備えたことを特徴とする多重イベント検証装置。
【請求項８】
イベント情報記憶部が、所定の状況がイベントとして発生する検証対象に発生する複数のイベントそれぞれが単一イベントとして定義された単一イベント情報と、同時に発生しない複数の単一イベントを組み合わせたイベント組み合わせが排他イベント組み合わせとして定義された排他イベント情報とを記憶し、
多重イベント候補定義部が、前記単一イベント情報に定義された複数の単一イベントを組み合わせて複数のイベント組み合わせそれぞれを、同時に発生する複数の単一イベントを組み合わせた多重イベント組み合わせの候補としてＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いて定義し、
多重イベント特定部が、前記多重イベント候補定義部により定義された複数の多重イベント組み合わせの候補のうち前記排他イベント情報に定義された排他イベント組み合わせを含まない多重イベント組み合わせの候補を多重イベント組み合わせとしてＣＰＵを用いて特定し、
多重イベント情報生成部が、前記多重イベント特定部により特定された多重イベント組み合わせを含む情報を多重イベント情報としてＣＰＵを用いて生成する
ことを特徴とする多重イベント定義方法。
【請求項９】
請求項８記載の多重イベント定義方法をコンピュータに実行させる多重イベント定義プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、イベントのテストパタンを生成するための多重イベント定義装置、多重イベント検証装置、多重イベント定義方法および多重イベント定義プログラムに関するものである。
【背景技術】
【０００２】
従来のディジタル回路のランダム検証システムは、制約パラメータ、ランダムパタンジェネレータ、テストパタン、検証プラットフォーム、実行ログで構成されている。検証担当者は、主観で制御パラメータを作成する。ランダムパタンジェネレータは、その制約パラメータによりテストパタンを自動生成する。検証プラットフォームは、そのテストパタンを実施し論理検証を行う。実行ログは、論理検証結果を出力する。検証担当者は、実行ログで示されたテストの合否結果をもとに、次に実施するテストパタンを生成するための制御パラメータを作成する。
しかし、テストパタンが膨大なため、狙い通りのテストが全て実施されたか否かを確認することは困難である。
【０００３】
そこで、先行技術文献は、狙い通りのテストが実施されたか否かを確認する技術を提案している（特許文献１）。
この先行技術は、ディジタル回路の入力パラメータを予め定義されたクラスに分類し、分類に応じたランダム入力値を設定し、シミュレーションの実行および出力パラメータの確認を行う。また、分類に応じたカバレッジポイントを設定し、シミュレーションの実行、カバレッジの集計およびカバレッジ結果の確認を行う。カバレッジとは、検証の網羅率を表す指標である。カバレッジには、コードカバレッジと機能カバレッジの２種類のカバレッジがある。コードカバレッジは、コードに対してテストパタンがどこまでカバーしたかを表す指標である。機能カバレッジは、仕様に対してテストパタンがどこまでカバーしたかを表す指標である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−９７３４８号公報
【特許文献２】特開２００１−１８８８１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のディジタル回路のランダム検証は、制御パラメータをテストパタンの自動生成ツール（ランダムパタンジェネレータ）に入力することによって多量にテストパタンを自動生成し、競合試験を行うことができた。
【０００６】
しかし、膨大な量のテストパタンが生成されるため、検証担当者が全てのテストパタンに対して狙い通りの競合テストが実施されているか確認することは困難である。
そのため、テストの実施が不十分である場合や、不要なテストをむやみに実施してしまう場合など、カバレッジに偏りが生じてしまうという課題がある。
【０００７】
カバレッジに偏りが生じないようにするには、必要十分なテスト項目を定義する必要がある。
【０００８】
本発明は、例えば、漏れなく必要十分なテスト項目を定義できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の多重イベント定義装置は、
所定の状況がイベントとして発生する検証対象に発生する複数のイベントそれぞれが単一イベントとして定義された単一イベント情報と、同時に発生しない複数の単一イベントを組み合わせたイベント組み合わせが排他イベント組み合わせとして定義された排他イベント情報とを記憶するイベント情報記憶部と、
前記単一イベント情報に定義された複数の単一イベントを組み合わせて複数のイベント組み合わせそれぞれを、同時に発生する複数の単一イベントを組み合わせた多重イベント組み合わせの候補としてＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いて定義する多重イベント候補定義部と、
前記多重イベント候補定義部により定義された複数の多重イベント組み合わせの候補のうち前記排他イベント情報に定義された排他イベント組み合わせを含まない多重イベント組み合わせの候補を多重イベント組み合わせとしてＣＰＵを用いて特定する多重イベント特定部と、
前記多重イベント特定部により特定された多重イベント組み合わせを含む情報を多重イベント情報としてＣＰＵを用いて生成する多重イベント情報生成部とを備える。
【発明の効果】
【００１０】
本発明によれば、多重イベントを漏れなく必要十分に定義することができる。そして、定義した多重イベントに基づいて漏れなく必要十分なテスト項目を定義することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１における多重イベント定義装置１００の機能構成図。
【図２】実施の形態における多重イベント定義装置１００、多重イベント検証装置２００のハードウェア資源の一例を示す図。
【図３】実施の形態１における多重イベント定義情報生成方法を示すフローチャート。
【図４】実施の形態１における検証対象の仕様書１９９の一例。
【図５】実施の形態１における関連情報１９２ａおよび排他情報１９２ｂの一例。
【図６】実施の形態１における２重イベント定義処理（Ｓ１４０）のフローチャート。
【図７】実施の形態１における２重イベント候補群１９３ｓおよび２重イベント情報１９３の一例。
【図８】実施の形態１におけるＮ重イベント定義処理（Ｓ１５０）のフローチャート。
【図９】実施の形態１におけるＮ重イベント候補群１９４ｓおよびＮ重イベント情報１９４の一例。
【図１０】実施の形態１における多重イベント定義情報１９５の一例。
【図１１】実施の形態２における仕様書１９９および単一イベント情報１９１の例。
【図１２】実施の形態２における組み合わせ分類情報１９２の例。
【図１３】実施の形態２における２重イベント候補群１９３ｓ、２重イベント情報１９３、Ｎ重イベント候補群１９４ｓおよびＮ重イベント情報１９４の例。
【図１４】実施の形態２における多重イベント定義情報１９５の例。
【図１５】実施の形態３における多重イベント検証装置２００の機能構成図。
【図１６】実施の形態３における多重イベント検証方法を示すフローチャート。
【図１７】実施の形態３における多重イベント発生情報２９４の一例。
【図１８】実施の形態３におけるテスト実施結果情報２９５の一例。
【発明を実施するための形態】
【００１２】
実施の形態１．
所定の状況がイベントとして発生する検証対象（例えば、特定のディジタル回路、データ処理装置、計算機）について、同時に発生するイベントの組み合わせである多重イベントを定義する形態について説明する。
【００１３】
イベントには、例えば以下のようなものがある。
（１）検証対象の内部の状態を変化させるトリガの役割をもった事象
（２）検証対象の内部の状態変化（変化が起こる瞬間）
（３）検証対象の内部の定常状態（変化が起こらない状態）
多重イベントは、多数のイベントが同時に発生することを意味する。
【００１４】
図１は、実施の形態１における多重イベント定義装置１００の機能構成図である。
実施の形態１における多重イベント定義装置１００の機能構成について、図１に基づいて以下に説明する。
【００１５】
多重イベント定義装置１００は、多重イベント定義情報生成部１０１およびイベント情報記憶部（図示省略）を備える。
多重イベント定義情報生成部１０１は、２重イベント定義部１１０（多重イベント候補定義部、多重イベント特定部の一例）、Ｎ重イベント定義部１２０（多重イベント候補定義部、多重イベント特定部の一例）および多重イベント定義部１３０（多重イベント情報生成部の一例）を備える。
【００１６】
イベント情報記憶部（図示省略）は、多重イベント定義装置１００で使用されるデータを記憶する。
単一イベント情報１９１、組み合わせ分類情報１９２、２重イベント情報１９３、Ｎ重イベント情報１９４および多重イベント定義情報１９５はイベント情報記憶部に記憶されるデータの一例である。
【００１７】
単一イベント情報１９１は、検証対象に発生するイベント（以下、「単一イベント」という）が定義された情報である。
【００１８】
組み合わせ分類情報１９２は、関連情報１９２ａ（関連イベント情報の一例）および排他情報１９２ｂ（排他イベント情報の一例）を含む。
関連情報１９２ａは、同時に発生する二つの単一イベントの組み合わせが定義された情報である。以下、関連情報１９２ａに定義された単一イベントの組み合わせを「関連イベント（関連イベント組み合わせ）」という。
排他情報１９２ｂは、同時に発生しない二つの単一イベントの組み合わせが定義された情報である。以下、排他情報１９２ｂに定義された単一イベントの組み合わせを「排他イベント（排他イベント組み合わせ）」という。
【００１９】
２重イベント情報１９３は、同時に発生する可能性がある二つの単一イベントの組み合わせが定義された情報である。以下、２重イベント情報１９３に定義された単一イベントの組み合わせを「２重イベント（二重イベント組み合わせ）」という。
【００２０】
Ｎ重イベント情報１９４は、同時に発生する可能性があるＮ個の単一イベントの組み合わせが定義された情報である。以下、Ｎ重イベント情報１９４に定義された単一イベントの組み合わせを「Ｎ重イベント（Ｎ重イベント組み合わせ）」という。
【００２１】
多重イベント定義情報１９５は、単一イベント、２重イベントおよびＮ重イベントが定義された情報である。
多重イベント定義情報１９５は、検証対象を漏れなく必要十分にテストするために利用される。
【００２２】
単一イベント情報１９１および組み合わせ分類情報１９２は検証担当者（利用者）により予め定義され記憶される。例えば、検証担当者は検証対象の仕様書などを参照して単一イベント情報１９１および組み合わせ分類情報１９２を定義する。
２重イベント情報１９３、Ｎ重イベント情報１９４および１９５は単一イベント情報１９１および組み合わせ分類情報１９２に基づいて多重イベント定義情報生成部１０１により生成される。
【００２３】
２重イベント定義部１１０は、二つの単一イベントを組み合わせて複数の２重イベント候補を定義し、複数の２重イベント候補のうち排他情報１９２ｂに定義された排他イベントと異なる２重イベント候補を特定し、特定した２重イベント候補を２重イベントとして定義した２重イベント情報１９３を生成する。
例えば、２重イベント定義部１１０は、以下のように２重イベントを特定する。
２重イベント定義部１１０は、複数の２重イベント候補のうち関連情報１９２ａに定義された関連イベントと同じ２重イベント候補を２重イベントとして特定する。
２重イベント定義部１１０は、関連イベントと排他イベントとのいずれとも異なる２重イベント候補を出力装置に出力し、当該２重イベント候補を２重イベントとするか否かを判断した検証担当者の判断結果を入力装置から入力し、入力した検証担当者の判断結果に基づいて当該２重イベント候補を２重イベントとするか否かを判定する。
【００２４】
Ｎ重イベント定義部１２０は、単一イベント情報１９１に定義された複数の単一イベントを組み合わせて複数のイベント組み合わせそれぞれを、同時に発生する複数の単一イベントを組み合わせた多重イベント（多重イベント組み合わせ）の候補として定義する。
例えば、Ｎ重イベント定義部１２０は、（Ｎ−１）つの単一イベントが互いに共通する二つのＮ重イベントを組み合わせて（Ｎ＋１）つの単一イベントを組み合わせた（Ｎ＋１）重イベントの候補を定義する。「Ｎ」を「３」以上の整数とする。
【００２５】
Ｎ重イベント定義部１２０は、定義した複数の多重イベントの候補のうち排他情報１９２ｂに定義された排他イベントを含まない組み合わせである多重イベントの候補を多重イベントとして特定する。
例えば、Ｎ重イベント定義部１２０は、複数の（Ｎ＋１）重イベントの候補のうち排他イベントを含まない（Ｎ＋１）重イベントの候補を（Ｎ＋１）重イベントとして特定する。
【００２６】
Ｎ重イベント定義部１２０は、（Ｎ＋１）重イベントが有る場合、（Ｎ＋２）重イベントの候補を定義し、（Ｎ＋１）重イベントが無い場合、多重イベントの候補の定義を終了する。
【００２７】
多重イベント定義部１３０は、Ｎ重イベント定義部１２０により特定されたＮ重イベントを含む情報を多重イベント定義情報１９５（多重イベント情報）として生成する。
例えば、多重イベント定義部１３０は単一イベントと２重イベントとＮ重イベント（Ｎ≧３）とを含めて多重イベント定義情報１９５を生成する。
【００２８】
図２は、実施の形態における多重イベント定義装置１００および多重イベント検証装置２００のハードウェア資源の一例を示す図である。
図２において、多重イベント定義装置１００および実施の形態３で説明する多重イベント検証装置２００は、ＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）（マイクロプロセッサ、マイクロコンピュータともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、ドライブ装置９０４、プリンタ装置９０６、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。ドライブ装置９０４は、ＦＤ（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）などの記憶媒体を読み書きする装置である。
【００２９】
通信ボード９１５は、有線または無線で、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット、電話回線などの通信網に接続している。
【００３０】
磁気ディスク装置９２０には、ＯＳ９２１（オペレーティングシステム）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
【００３１】
プログラム群９２３には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラムは、ＣＰＵ９１１により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
【００３２】
ファイル群９２４には、実施の形態において説明する「〜部」で使用される各種データ（入力、出力、判定結果、計算結果、処理結果など）が含まれる。
【００３３】
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
【００３４】
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
【００３５】
図３は、実施の形態１における多重イベント定義情報生成方法を示すフローチャートである。
実施の形態１における多重イベント定義情報生成方法について、図３に基づいて以下に説明する。
【００３６】
多重イベント定義装置１００の各「〜部」は以下に説明する処理（Ｓ１４０〜Ｓ１６０）をＣＰＵを用いて実行する。
【００３７】
まず、多重イベント定義情報生成方法の概要について説明する。
【００３８】
検証担当者は単一イベントを定義し（Ｓ１１０）、多重イベントの最大多重度ｎを決定し（Ｓ１２０）、組み合わせ分類情報１９２を生成する（Ｓ１３０）。
【００３９】
２重イベント定義部１１０は単一イベントと組み合わせ分類情報１９２とに基づいて２重イベントを定義する（Ｓ１４０）。
Ｎ重イベント定義部１２０は２重イベントと組み合わせ分類情報１９２とに基づいてＮ重イベント（Ｎ≧３）を定義する（Ｓ１５０）。
多重イベント定義部１３０は単一イベント、２重イベントおよびＮ重イベントを含む多重イベント定義情報１９５を生成する（Ｓ１６０）。
【００４０】
次に、各処理（Ｓ１１０〜Ｓ１６０）の詳細について説明する。
【００４１】
＜Ｓ１１０＞
検証担当者は、検証対象に発生するイベントに関する検証対象情報（例えば、仕様書１９９）に基づいて単一イベント情報１９１を生成する。以下、仕様書１９９を検証対象情報として説明を行う。
【００４２】
図４は、実施の形態１における検証対象の仕様書１９９の一例である。
例えば、検証担当者は図４に示す仕様書１９９を参照し、仕様書１９９に記載されている５つの単一イベント「データ入力リクエスト」「データ出力リクエスト」「既にフル状態」「フル状態に移行」「フルではない状態に移行」を抽出する。「既にフル状態」「フル状態に移行」「フルではない状態に移行」はキュー（データの待ち行列）の状態を表したイベントであり、検証対象の内部状態（定常状態、状態変化）の一例である。
検証担当者は、抽出した５つの単一イベントを設定（定義）して単一イベント情報１９１を生成し、生成した単一イベント情報１９１を多重イベント定義装置１００に記憶する。
【００４３】
検証担当者の代わりに多重イベント定義装置１００が単一イベント情報１９１を生成しても構わない。
例えば、多重イベント定義装置１００は次のような単一イベント情報生成部を備える。単一イベント情報生成部は「イベント」「リクエスト」「状態」「移行」などイベントに関連する用語を検索キーとして仕様書１９９の電子データを検索し、検索キーを含んだ単語や句を単一イベントとして抽出する。単一イベント情報生成部は、抽出した単一イベントを設定して単一イベント情報１９１を生成する。単一イベント情報生成部は検索結果を表示装置（出力装置の一例）に表示して検証担当者に単一イベントの指定を促し、検証担当者に指定された単一イベントをキーボードやマウス（入力装置の一例）から入力し、入力した単一イベントを設定して単一イベント情報１９１を生成してもよい。
【００４４】
図３に戻り、多重イベント定義情報生成方法の説明を続ける。
【００４５】
Ｓ１１０の後、処理はＳ１２０に進む。
【００４６】
＜Ｓ１２０＞
検証担当者は、仕様書１９９やＳ１１０で生成した単一イベント情報１９１に基づいて多重イベントの多重度の最大値「ｎ」を決定し、決定した多重度の最大値「ｎ」を多重イベント定義装置１００に設定する。これにより、一つの多重イベントに含まれる単一イベントの数は「ｎ」以下に制限される。
以下、多重イベントの多重度の最大値「ｎ」を「多重イベントの最大多重度ｎ」という。
例えば、検証対象者は単一イベント情報１９１に定義した単一イベントの個数を多重イベントの最大多重度ｎとする。図４に示すように単一イベント情報１９１に単一イベントが「５つ」定義されている場合、多重イベントの最大多重度ｎは「５」となる。
【００４７】
検証担当者の代わりに多重イベント定義装置１００が単一イベント情報１９１を決定しても構わない。
例えば、多重イベント定義装置１００は次のようなイベント多重度決定部を備える。イベント多重度決定部は単一イベント情報１９１に定義された単一イベントの数を最大多重度ｎに決定する。
【００４８】
Ｓ１２０の後、処理はＳ１３０に進む。
【００４９】
＜Ｓ１３０＞
検証担当者は、仕様書１９９に基づいて関連イベントおよび排他イベントを特定し、特定した関連イベントを設定して関連情報１９２ａを生成し、特定した排他イベントを設定して排他情報１９２ｂを生成し、生成した関連情報１９２ａおよび排他情報１９２ｂを組み合わせ分類情報１９２として多重イベント定義装置１００に記憶する。
【００５０】
図５は、実施の形態１における関連情報１９２ａおよび排他情報１９２ｂの一例である。
例えば、検証担当者は、仕様書１９９の「・・・キューに対して同時にデータ入力リクエスト、データ出力リクエストが発行された場合も２つの動作は実施する」（図４参照）という記載に基づいて、関連情報１９２ａに関連イベント「データ入力リクエスト  ＆  データ出力リクエスト」（図５参照）を定義する。「＆」は論理積（ＡＮＤ）を示している。
関連イベントおよび排他イベントは、図５の排他情報１９２ｂに記す「データ入力リクエスト  ＆  既にフル状態（データ入力リクエスト、データ出力リクエスト、既にフル状態が同時に発生した場合を除く）」（カッコ内は条件を示す）のように、条件付きであってもよい。
【００５１】
検証担当者の代わりに多重イベント定義装置１００が関連情報１９２ａおよび排他情報１９２ｂを生成しても構わない。
例えば、多重イベント定義装置１００は次のようなイベント組み合わせ情報生成部を備える。イベント組み合わせ情報生成部は仕様書１９９に記載された文章を文法（構文、字句、意味）解析し、関連イベントおよび排他イベントを抽出する。イベント組み合わせ情報生成部は抽出した関連イベントを設定して関連情報１９２ａを生成し、抽出した排他イベントを設定して排他情報１９２ｂを生成する。
【００５２】
図３に戻り、多重イベント定義情報生成方法の説明を続ける。
【００５３】
Ｓ１３０の後、処理はＳ１４０に進む。
【００５４】
＜Ｓ１４０＞
２重イベント定義部１１０は、単一イベント情報１９１と組み合わせ分類情報１９２とに基づいて２重イベント情報１９３を生成する。
【００５５】
図６は、実施の形態１における２重イベント定義処理（Ｓ１４０）のフローチャートである。
実施の形態１における２重イベント定義処理（Ｓ１４０）について、図６に基づいて以下に説明する。
【００５６】
＜Ｓ１４１＞
２重イベント定義部１１０は、単一イベント情報１９１に定義されている複数の単一イベントを２つずつ組み合わせ、各組み合わせを２重イベント候補として定義する。以下、各２重イベント候補が定義された情報を「２重イベント候補群１９３ｓ」という。２重イベント候補群１９３ｓは２重イベント候補を網羅したものである。
【００５７】
図７は、実施の形態１における２重イベント候補群１９３ｓおよび２重イベント情報１９３の一例である。
例えば、２重イベント定義部１１０は、図４に示す単一イベント情報１９１に基づいて図７に示す２重イベント候補群１９３ｓを定義する。２重イベント候補群１９３ｓには、単一イベント情報１９１に定義されている５つの単一イベントを２つずつ重複せずに組み合わせて「１０通り（＝５Ｃ２）」の組み合わせが含まれる。
【００５８】
図６に戻り、２重イベント定義処理（Ｓ１４０）の説明を続ける。
【００５９】
Ｓ１４１の後、処理はＳ１４２に進む。
【００６０】
＜Ｓ１４２＞
２重イベント定義部１１０は、２重イベント候補群１９３ｓに定義された複数の２重イベント候補のうち、以下に説明するＳ１４３〜Ｓ１４６により２重イベントとして定義するか判定されていない２重イベント候補を一つ選択する。
以下、２重イベント定義処理（Ｓ１４０）において、Ｓ１４２で選択された２重イベント候補を「選択候補」という。
Ｓ１４２の後、処理はＳ１４３に進む。
【００６１】
＜Ｓ１４３＞
２重イベント定義部１１０は、選択候補が関連情報１９２ａに定義されているいずれかの関連イベントと同じであるか否かを判定する。
【００６２】
図５の関連情報１９２ａに基づく判定結果を図７に示す。判定結果としてマル印「○」を付された２重イベント候補が、関連イベントと同じであると判定される候補である。判定結果としてバツ印「×」を付された２重イベント候補または判定結果としていずれの印も付されていない２重イベント候補が、関連イベントと同じでないと判定される候補である。
例えば、２重イベント候補群１９３ｓ（図７）に定義されている１番目の候補「データ入力リクエスト  ＆  データ出力リクエスト」は関連情報１９２ａ（図５）に定義されている１番目の関連イベントと同じであるから判定結果が「○」になる。また、２重イベント候補群１９３ｓに定義されている４番目の候補「データ入力リクエスト  ＆  フルではない状態に移行」は関連情報１９２ａに定義されているいずれの関連イベントとも異なるから判定結果が無印になる。
【００６３】
図６に戻り、２重イベント定義処理（Ｓ１４０）の説明を続ける。
【００６４】
選択候補が関連イベントと同じである場合（ＹＥＳ）、処理はＳ１４４に進む。
選択候補が関連イベントと同じでない場合（ＮＯ）、処理はＳ１４５に進む。
【００６５】
＜Ｓ１４４＞
２重イベント定義部１１０は、選択候補を２重イベントとして２重イベント情報１９３に定義（設定）する。
【００６６】
特定の２重イベント候補を２重イベントとして定義した２重イベント情報１９３を図７に示す。
２重イベント候補群１９３ｓに含まれる１０個の２重イベント候補のうち、関連イベントと同じ３個の候補（判定結果：「○」）（Ｓ１４３参照）と、排他イベントと異なる候補（判定結果：無印）（Ｓ１４５参照）であって２重イベントとして定義する必要があると判定された３個の候補（Ｓ１４６参照）との計６個の候補が２重イベントとして２重イベント情報１９３に定義されている。
【００６７】
Ｓ１４４の後、処理はＳ１４７に進む。
【００６８】
＜Ｓ１４５＞
２重イベント定義部１１０は、選択候補が排他情報１９２ｂに定義されているいずれかの排他イベントと同じであるか否かを判定する。
【００６９】
図５の排他情報１９２ｂに基づく判定結果を図７に示す。判定結果としてバツ印「×」が付された２重イベント候補が、排他イベントと同じであると判定される候補である。判定結果としてマル印「○」もバツ印「×」も付されていない２重イベント候補が、排他イベントと同じでないと判定される候補である。
例えば、２重イベント候補群１９３ｓ（図７）に定義されている２番目の２重イベント候補「データ入力リクエスト  ＆  既にフル状態」は排他情報１９２ｂ（図５）に定義されている１番目の排他イベントと同じであるから判定結果が「×」になる。また、２重イベント候補群１９３ｓに定義されている４番目の２重イベント候補「データ入力リクエスト  ＆  フルではない状態に移行」は排他情報１９２ｂに定義されているいずれの排他イベントとも異なるから判定結果が無印になる。
【００７０】
図６に戻り、２重イベント定義処理（Ｓ１４０）の説明を続ける。
【００７１】
選択候補が排他イベントと同じである場合（ＹＥＳ）、処理はＳ１４７に進む。
選択候補が排他イベントと同じでない場合（ＮＯ）、処理はＳ１４６に進む。
【００７２】
＜Ｓ１４６＞
２重イベント定義部１１０は、選択候補を表示装置（出力装置の一例）に表示し、検証担当者に選択候補を２重イベントとして定義する必要があるか否かの判断を促す。
２重イベント定義部１１０は、検証担当者の判断結果をキーボードやマウス（入力装置の一例）から入力する。２重イベント定義部１１０は、検証担当者の判断結果に応じて、選択候補を２重イベントとして定義するか否かを判定する。
【００７３】
例えば、検証担当者は、判断を促された全ての選択候補に対して、２重イベントとして定義する必要があると判断する。
【００７４】
検証担当者の代わりに多重イベント定義装置１００が判定してもよい。
例えば、２重イベント定義部１１０は、当該選択候補の全てに対して、２重イベントとして定義する必要があると判定する。
【００７５】
選択候補を２重イベントとして定義する必要がある場合（「定義要」）、処理はＳ１４４に進む。
選択候補を２重イベントとして定義する必要がない場合（「定義不要」）、処理はＳ１４７に進む。
【００７６】
＜Ｓ１４７＞
２重イベント定義部１１０は、２重イベントとして定義するか判定されていない２重イベント候補が２重イベント候補群１９３ｓに残っているか否かを判定する。
当該２重イベント候補が残っている場合（ＹＥＳ）、処理はＳ１４２に戻る。
当該２重イベント候補が残っていない場合（ＮＯ）、２重イベント定義処理（Ｓ１４０）は終了する。
【００７７】
図３に戻り、多重イベント定義情報生成方法の説明を続ける。
【００７８】
Ｓ１４０の後、処理はＳ１５０に進む。
【００７９】
＜Ｓ１５０＞
Ｎ重イベント定義部１２０は、２重イベント情報１９３と組み合わせ分類情報１９２とに基づいてＮ重イベント情報１９４を生成する。
【００８０】
図８は、実施の形態１におけるＮ重イベント定義処理（Ｓ１５０）のフローチャートである。
実施の形態１におけるＮ重イベント定義処理（Ｓ１５０）について、図８に基づいて以下に説明する。
【００８１】
＜Ｓ１５１＞
Ｎ重イベント定義部１２０は、Ｎ重イベントの「Ｎ（変数）」として初期値「３」を設定する。
Ｓ１５１の後、処理はＳ１５２に進む。
【００８２】
＜Ｓ１５２＞
Ｎ重イベント定義部１２０は、（Ｎ−１）重イベントを組み合わせてＮ重イベント候補群１９４ｓを定義する。
このとき、Ｎ重イベント定義部１２０は、（Ｎ−１）重イベント情報に含まれる複数の（Ｎ−１）重イベントのうち（Ｎ−２）個の単一イベントが共通する２つの（Ｎ−１）重イベントを組み合わせて、その組み合わせをＮ重イベント候補として定義する。以下、Ｎ重イベント候補が定義された情報を「Ｎ重イベント候補群１９４ｓ」という。Ｎ重イベント候補群１９４ｓはＮ個の単一イベントを組み合わせたＮ重イベント候補を網羅したものである。
【００８３】
図９は、実施の形態１におけるＮ重イベント候補群１９４ｓおよびＮ重イベント情報１９４の一例である。
「Ｎ＝３」の場合、図７に示す２重イベント情報１９３に基づいて図９に示すＮ重イベント候補群１９４ｓ（Ｎ＝３）が定義される。
【００８４】
例えば、図７に示す２重イベント情報１９３において、１番目の２重イベント「データ入力リクエスト  ＆  データ出力リクエスト」と２番目の２重イベント「データ入力リクエスト  ＆  フル状態に移行」とは一つの単一イベント「データ入力リクエスト」が共通する。したがって、１番目の２重イベントと２番目の２重イベントとを組み合わせて３重イベント「データ入力リクエスト  ＆  データ出力リクエスト  ＆  フル状態に移行」がＮ重イベント候補群１９４ｓ（Ｎ＝３）に定義される（図９参照）。
【００８５】
また、「Ｎ＝４」の場合、図９に示すＮ重イベント情報１９４（Ｎ＝３）に基づいて図９に示すＮ重イベント候補群１９４ｓ（Ｎ＝４）が定義される。
【００８６】
例えば、図９に示すＮ重イベント情報１９４（Ｎ＝３）において、１番目の３重イベント「データ入力リクエスト  ＆  データ出力リクエスト  ＆  フル状態に移行」と２番目の３重イベント「データ入力リクエスト  ＆  データ出力リクエスト  ＆  フルではない状態に移行」とは二つの単一イベント「データ入力リクエスト」「データ出力リクエスト」が共通する。したがって、１番目の３重イベントと２番目の３重イベントとを組み合わせて４重イベント「データ入力リクエスト  ＆  データ出力リクエスト  ＆  フル状態に移行  ＆  フルではない状態に移行」がＮ重イベント候補群１９４ｓ（Ｎ＝４）に定義される（図９参照）。
【００８７】
図８に戻り、Ｎ重イベント定義処理（Ｓ１５０）の説明を続ける。
【００８８】
Ｓ１５２の後、処理はＳ１５３に進む。
【００８９】
＜Ｓ１５３＞
Ｎ重イベント定義部１２０は、Ｎ重イベント候補群１９４ｓに定義された複数のＮ重イベント候補のうち、以下に説明するＳ１５４〜Ｓ１５５によりＮ重イベントとして定義するか判定されていないＮ重イベント候補を一つ選択する。
以下、Ｎ重イベント定義処理（Ｓ１５０）において、Ｓ１５３で選択されたＮ重イベント候補を「選択候補」という。
Ｓ１５３の後、処理はＳ１５４に進む。
【００９０】
＜Ｓ１５４＞
Ｎ重イベント定義部１２０は、排他情報１９２ｂに定義されている少なくともいずれかの排他イベントが選択候補に含まれているか否かを判定する。
【００９１】
図５の排他情報１９２ｂに基づく判定結果を図９に示す。判定結果としてバツ印「×」が付されたＮ重イベント候補が、排他イベントを含んだ候補である。判定結果としてバツ印「×」が付されていないＮ重イベント候補が、排他イベントを含まない候補である。
【００９２】
例えば、図９に示すＮ重イベント候補群１９４ｓ（Ｎ＝３）の３番目の３重イベント候補「データ入力リクエスト  ＆  フル状態に移行  ＆  フルではない状態に移行」には、図５に示す排他情報１９２ｂの４番目の排他イベント「フル状態  ＆  フルではない状態に移行」が含まれている。したがって、この３重イベント候補の判定結果は「×」である。
また、図９に示すＮ重イベント候補群１９４ｓ（Ｎ＝４）の３つの４重イベント候補はいずれも、図５に示す排他情報１９２ｂの少なくともいずれかの排他イベントを含んでいる。このため、３つの４重イベント候補の判定結果はいずれも「×」である。
【００９３】
図８に戻り、Ｎ重イベント定義処理（Ｓ１５０）の説明を続ける。
【００９４】
Ｓ１５４において、選択候補に排他イベントが含まれている場合（ＹＥＳ）、処理はＳ１５６に進む。
選択候補に排他イベントが含まれていない場合（ＮＯ）、処理はＳ１５５に進む。
【００９５】
＜Ｓ１５５＞
Ｎ重イベント定義部１２０は、選択候補をＮ重イベントとしてＮ重イベント情報１９４に定義する。
【００９６】
特定の３重イベント候補を３重イベントとして定義したＮ重イベント情報１９４を図９に示す。
Ｎ重イベント候補群１９４ｓ（Ｎ＝３）に含まれる７つの３重イベント候補のうち、排他イベントを含まない３つの候補（判定結果：無印）がＮ重イベント情報１９４（Ｎ＝３）に３重イベントとして定義されている。
また、Ｎ重イベント候補群１９４ｓ（Ｎ＝４）に含まれる３つの４重イベント候補はいずれも排他イベントを含むため（判定結果：「×」）、Ｎ重イベント情報１９４（Ｎ＝４）に定義される４重イベントは無い。
【００９７】
図８に戻り、Ｎ重イベント定義処理（Ｓ１５０）の説明を続ける。
【００９８】
Ｓ１５５の後、処理はＳ１５６に進む。
【００９９】
＜Ｓ１５６＞
Ｎ重イベント定義部１２０は、Ｎ重イベントとして定義するか判定されていないＮ重イベント候補がＮ重イベント候補群１９４ｓに残っているか否かを判定する。
当該Ｎ重イベント候補が残っている場合（ＹＥＳ）、処理はＳ１５３に戻る。
当該Ｎ重イベント候補が残っていない場合（ＮＯ）、処理はＳ１５７に進む。
【０１００】
＜Ｓ１５７＞
Ｎ重イベント定義部１２０は、変数Ｎに「１」を加算（インクリメント）する。
Ｓ１５７の後、処理はＳ１５８に進む。
【０１０１】
＜Ｓ１５８＞
Ｎ重イベント定義部１２０は、（Ｎ−１）重イベント情報に（Ｎ−１）重イベントが少なくとも一つ定義されているか否かを判定する。
（Ｎ−１）重イベントが定義されている場合（ＹＥＳ）、処理はＳ１５９に進む。
（Ｎ−１）重イベントが定義されていない場合（ＮＯ）、Ｎ重イベント定義処理（Ｓ１５０）は終了する。
【０１０２】
図９において、「Ｎ＝４」の場合、３つの３重イベントがＮ重イベント情報１９４（Ｎ＝３）に定義されているため、処理はＳ１５９に進む。
「Ｎ＝５」の場合、４重イベントがＮ重イベント情報１９４（Ｎ＝４）には一つも定義されていないため、Ｎ重イベント定義処理（Ｓ１５０）は終了する。
【０１０３】
＜Ｓ１５９＞
Ｎ重イベント定義部１２０は、変数ＮとＳ１２０（図３参照）において定義された最大多重度ｎとを大小比較する。
「Ｎ≦ｎ」の場合（ＹＥＳ）、処理はＳ１５２に戻る。
「Ｎ＞ｎ」の場合（ＮＯ）、Ｎ重イベント定義処理（Ｓ１５０）は終了する。
【０１０４】
図３に戻り、多重イベント定義情報生成方法の説明を続ける。
【０１０５】
Ｓ１５０の後、処理はＳ１６０に進む。
【０１０６】
＜Ｓ１６０＞
多重イベント定義部１３０は、単一イベント情報１９１に定義されている単一イベント、２重イベント情報１９３に定義されている２重イベントおよびＮ重イベント情報１９４（Ｎ≧３）に定義されているＮ重イベントを多重イベントとして設定して多重イベント定義情報１９５を生成する。
【０１０７】
図１０は、実施の形態１における多重イベント定義情報１９５の一例である。
図４に示す単一イベント情報１９１と図５に示す組み合わせ分類情報１９２とに基づいて生成された多重イベント定義情報１９５を図１０に示す。
多重イベント定義情報１９５には、単一イベント情報１９１の５個の単一イベント（図４参照）、２重イベント情報１９３の６個の２重イベント（図７参照）およびＮ重イベント情報１９４（Ｎ＝３）の３個の３重イベント（図９参照）が多重イベントとして多重イベント定義情報１９５に定義されている。
【０１０８】
多重イベント定義情報１９５は、検証対象に発生する単一イベントおよび検証対象に同時に発生する可能性があるＮ重イベント（Ｎ≧２）を多重イベントとして網羅したものである。多重イベント定義情報１９５に定義された全ての多重イベントについてテスト項目を生成することにより、検証対象のイベントに関するテスト項目を網羅することができる。
【０１０９】
図３に戻り、多重イベント定義情報生成方法の説明を続ける。
【０１１０】
Ｓ１６０により、多重イベント定義情報生成方法は終了する。
【０１１１】
実施の形態１では、例えば以下のような多重イベント定義装置について説明した。
【０１１２】
ディジタル回路のランダム検証時の全ての多重イベントテスト項目を定義した多重イベント定義情報を生成する多重イベント定義情報生成手段を備える。
テストが必要な全ての２重イベントを漏れなく生成する２重イベント定義手段を備える。
テストが必要な全ての３重以上のイベントを漏れなく定義するＮ重イベント定義手段を備える。
テストの要・不要を分類する指標となる組み合わせ分類情報を備える。
組み合わせ分類情報は関連する複数のイベント同士を関連付ける関連情報を含む。
組み合わせ分類情報はテスト不要な複数のイベントの組合せを定義する排他情報を含む。
【０１１３】
多重イベント定義装置は、例えば以下のような効果を奏する。
２重イベント定義手段が２重イベント候補を網羅的に作成した上で、２重イベント定義手段と検証担当者がテスト要・不要な２重イベント候補を判断するため、テストが必要な２重イベントの漏れを防ぐ。
予め関連情報と排他情報とを定義しているため、２重イベント定義手段が、明確に要・不要である２重イベント候補を分類する。検証担当者は、要・不要と分類されなかった２重イベント候補のみを分類するだけなので、２重イベントを定義する時間が短縮できる。
基礎となる２重イベントをしっかりと定義し、排他情報を導入しているため、３重以上の多重イベントも必要十分なものだけ定義できる。排他情報により、テストが不必要な多重イベントは自動で削除されるため、不要なテストの実施を防ぐことができる。また、（Ｎ−１）重イベントをもとに、インクリメンタルにＮ重イベントを定義するため、検証担当者では見落としてしまうＮ重イベントも定義できる。
【０１１４】
実施の形態２．
多重イベント定義装置１００が実施の形態１で説明した例とは異なる検証対象について多重イベント定義情報を生成する形態について説明する。多重イベント定義装置１００は実施の形態１と同じである。
【０１１５】
検証対象は、以下のような項目を有する。
・１つのモジュール内の１つのリソースや複数イベント
・１つのモジュール内の複数のリソースやイベント
・複数のモジュール、または複数モジュールをまたがった複数のイベントやリソース
【０１１６】
上記の「１つのモジュール内の１つのリソースや複数イベント」を対象とした場合は、多重イベントが容易に定義できる。しかし、「１つのモジュール内の複数のリソースやイベント」や「複数のモジュール、または複数モジュールをまたがった複数のイベントやリソース」を対象とした場合、テストが必要な全ての多重イベントを定義することは困難である。
【０１１７】
実施の形態２では、「複数のモジュール、または複数モジュールをまたがった複数のイベントやリソース」に対して多重イベントを定義する例を示す。
【０１１８】
図１１は、実施の形態２における仕様書１９９および単一イベント情報１９１の例である。
図１２は、実施の形態２における組み合わせ分類情報１９２の例である。
図１３は、実施の形態２における２重イベント候補群１９３ｓ、２重イベント情報１９３、Ｎ重イベント候補群１９４ｓおよびＮ重イベント情報１９４の例である。
図１４は、実施の形態２における多重イベント定義情報１９５の例である。
図１１〜図１４に基づいて以下に説明する。
【０１１９】
以下に記す「Ｓ１１０」〜「Ｓ１６０」は実施の形態１説明した多重イベント定義情報生成方法の処理ステップである（図３参照）。
【０１２０】
ステップＳ１１０では、検証担当者が、仕様書から単一イベントを抽出し定義する。
図１１に、仕様書の具体例のイメージ図として仕様書１９９を示す。また、単一イベントの具体例のイメージ図として単一イベント情報１９１を示す。
【０１２１】
ステップＳ１２０では、検証担当者が、単一イベントの個数より、多重イベントの最大多重度（ｎ）を決定する。ｎ個の単一イベントが定義された場合は、最大ｎ重イベントが定義可能となる。
図１１には単一イベントが６個挙げられているため、最大多重度は「ｎ＝６」となる。
【０１２２】
ステップＳ１３０では、検証担当者が、仕様書と単一イベントとをもとに、単一イベント同士の関連性を示した関連情報を定義する。また、検証担当者が、仕様書と単一イベントとをもとに、絶対に同時に発生しない単一イベントの組み合わせを示した排他情報を定義する。検証担当者は、関連情報と排他情報とをまとめて組み合わせ分類情報を定義する。
図１２に、関連情報の具体例として関連情報１９２ａのイメージ図を示す。同様に図１２に、排他情報の具体例として排他情報１９２ｂのイメージ図を示す。
【０１２３】
ステップＳ１４０では、２重イベント定義部１１０が、単一イベントと仕様書と組み合わせ分類情報との入力により、２重イベントを定義する。２重イベント定義部１１０の詳細な説明は後述する。
図１３に、２重イベント候補の具体例として２重イベント候補群１９３ｓのイメージ図を示す。同様に図１３に、２重イベントの具体例として２重イベント情報１９３のイメージ図を示す。
【０１２４】
ステップＳ１５０では、Ｎ重イベント定義部１２０が、２重イベントと組み合わせ分類情報との入力により、Ｎ重イベントを定義する。Ｎ重イベント定義部１２０の詳細な説明は後述する。
図１３に、多重イベント候補の具体例を示す。３重イベント候補の具体例のイメージ図として３重イベント候補群１９４ｓ３と、３重イベントの具体例のイメージ図として３重イベント情報１９４Ｉ３を示す。同様に図１３に、４重イベント候補の具体例のイメージ図として４重イベント候補群１９４ｓ４と、４重イベントの具体例のイメージ図として４重イベント情報１９４Ｉ４を示す。同様に図１３に、５重イベント候補の具体例として５重イベント候補群１９４ｓ５と、５重イベントの具体例としてＮ重イベント情報５重イベント情報１９４Ｉ５を示す。同様に図１３に、６重イベント候補の具体例のイメージ図として６重イベント候補群１９４ｓ６と、６重イベントの具体例のイメージ図として６重イベント情報１９４Ｉ６を示す。
【０１２５】
ステップ１６０では、多重イベント定義部１３０が、単一イベント、２重イベント、Ｎ重イベントを組み合わせて多重イベント定義情報を作成する。
図１４に、多重イベント定義情報の具体例のイメージ図として多重イベント定義情報１９５を示す。
【０１２６】
次に、２重イベント定義部１１０の詳細について図６（Ｓ１４１〜Ｓ１４７）に基づいて説明する。
【０１２７】
ステップＳ１４１では、２重イベント定義部１１０が、単一イベントをもとに網羅的に２重イベント候補を作成する。
図１３に、２重イベント候補の具体例のイメージ図として２重イベント候補群１９３ｓを示す。
【０１２８】
ステップＳ１４２では、２重イベント定義部１１０が、２重イベント候補を一つ選択する。
【０１２９】
ステップＳ１４３では、２重イベント定義部１１０が、２重イベント候補が関連情報で定義されている組み合わせであるかを判断する。２重イベント候補が定義された組み合わせだった場合は、ステップＳ１４４に移る。２重イベント候補が定義されていない組み合わせだった場合は、ステップＳ１４５に移る。
図１３に、２重イベント候補の具体例のイメージ図として２重イベント候補群１９３ｓを示す。２重イベント候補群１９３ｓで「○」印がついている項目が、関連情報で定義されている２重イベント候補である。
【０１３０】
ステップＳ１４５では、２重イベント定義部１１０が、２重イベント候補が排他情報で定義されている組み合わせであるかを判断する。２重イベント候補が定義された組み合わせだった場合は、ステップＳ１４７に移る。２重イベント候補が定義されていない組み合わせだった場合は、ステップＳ１４６に移る。
図１３において、２重イベント候補の具体例を示した２重イベント候補群１９３ｓで「×」印がついている項目が、排他情報で定義されている２重イベント候補である。
【０１３１】
ステップＳ１４６では、検証担当者が、その２重イベント候補に対してテストの要・不要を判断する。２重イベントが、テストが必要な組み合わせだった場合は、Ｓ１４４に移る。２重イベントが、テストが不要な組み合わせだった場合は、Ｓ１４７に移る。
図１３において、２重イベント候補の具体例を示した２重イベント候補群１９３ｓで、「○」印と「×」印がついていない項目が、検証担当者がテストの要・不要を判断する必要がある２重イベント候補である。
【０１３２】
ステップＳ１４４では、２重イベント定義部１１０が、ステップＳ１４３及びステップＳ１４６でテストが必要であると判断された２重イベント候補を２重イベントとして定義する。
図１３に、２重イベントの具体例のイメージ図として２重イベント情報１９３を示す。
【０１３３】
ステップＳ１４７では、２重イベント定義部１１０が、未分類の２重イベント候補があるかを判断する。未分類の２重イベント候補があった場合は、ステップＳ１４２に移る。未分類の２重イベント候補がなかった場合は、終了する。
【０１３４】
次に、Ｎ重イベント定義部１２０の詳細について図８（Ｓ１５１〜Ｓ１５９）に基づいて説明する。
【０１３５】
ステップＳ１５１では、Ｎ重イベント定義部１２０が、「Ｎ＝３」（３重）を設定する。
【０１３６】
ステップＳ１５２では、Ｎ重イベント定義部１２０が、（Ｎ−１）重イベントをもとにＮ重イベント候補を機械的に作成する。Ｎ重イベント候補の詳細な作成方法としては、Ｎ重イベント定義部１２０が、共通なイベントをもった（Ｎ−１）重イベント同士を組合せてＮ重イベント候補を作成する。
図１３に、多重イベント候補の具体例のイメージ図を示す。３重イベント候補の具体例のイメージ図として３重イベント候補群１９４ｓ３を示す。
【０１３７】
ステップＳ１５３では、Ｎ重イベント定義部１２０が、Ｎ重イベント候補を一つ選択する。
【０１３８】
ステップＳ１５４では、Ｎ重イベント定義部１２０が、Ｎ重イベント候補が排他情報で定義されている組み合わせを含んでいるかを判断する。Ｎ重イベント候補が定義されている組み合わせを含んでいた場合は、ステップＳ１５５へ移る。Ｎ重イベント候補が定義されている組み合わせを含んでいなかった場合は、ステップＳ１５６へ移る。
図１３において、３重イベント候補の具体例を示した３重イベント候補群１９４ｓ３で「×」印がついている項目が、排他情報で定義されている組み合わせをもつ３重イベントである。
【０１３９】
ステップＳ１５５では、Ｎ重イベント定義部１２０が、Ｎ重イベント候補をＮ重イベントとして定義する。
図１３に、３重イベントの具体例のイメージ図として３重イベント情報１９４Ｉ３を示す。
【０１４０】
ステップＳ１５６では、Ｎ重イベント定義部１２０が、未分類のＮ重イベント候補があるかを判断する。未分類のＮ重イベント候補があった場合は、ステップＳ１５３へ移る。未分類のＮ重イベント候補がなかった場合は、ステップＳ１５７へ移る。
【０１４１】
ステップＳ１５７では、Ｎ重イベント定義部１２０が、「Ｎ」の値をインクリメントする。
図１３の３重イベント情報１９４Ｉ３を定義した後、「Ｎ」を「４（＝３＋１）」にインクリメントする。
【０１４２】
ステップＳ１５８では、Ｎ重イベント定義部１２０が、（Ｎ−１）重イベントがあったかを判断する。（Ｎ−１）重イベントがなかった場合は終了する。（Ｎ−１）重イベントがあった場合は、ステップＳ１５９へ移る。
図１３において、３重イベント情報１９４Ｉ３で示すように３（＝Ｎ−１）重イベントは存在するので、ここではステップＳ１５９へ移る。
【０１４３】
ステップＳ１５９では、Ｎ重イベント定義部１２０が、「Ｎ」の値が「Ｎ≦ｎ」であるかを判断する。
「Ｎ」の値が「Ｎ≦ｎ」であった場合は、ステップＳ１５２へ移る。「Ｎ」の値が「Ｎ＞ｎ」であった場合は終了する。
ここでは、「Ｎ＝４≦６」となるので、ステップＳ１５２へ移り、３重イベント候補群１９４ｓ３および３重イベント情報１９４Ｉ３と同様の手段で、図１３に示す４重イベント候補群１９４ｓ４、４重イベント情報１９４Ｉ４を作成する。同様に、５重イベント候補群１９４ｓ５、５重イベント情報１９４Ｉ５、６重イベント候補群１９４ｓ６、６重イベント情報１９４Ｉ６を作成する。
図１３の６重イベント情報１９４Ｉ６を定義したあと、「Ｎ＝７」かつ、６（＝Ｎ−１）重イベントはないので、ステップＳ１５８の条件に該当し、Ｎ重イベントの定義は終了する。
【０１４４】
次に、図１１〜図１４の詳細について説明する。
【０１４５】
図１１は、仕様書および単一イベントの具体例のイメージ図である。
仕様書１９９は、検証対象の仕様を示した情報の一部である。
モジュール関連図１９９ａは、仕様書１９９からテスト対象の各モジュールとイベントのイメージを表した図である。モジュール関連図１９９ａで示した通り、ここでは１つのシステム内の複数モジュールを対象としている。また、ここでは説明を簡略化するため、イベントを「ａ」や「ｂ」などのように抽象的に表現している。
単一イベント情報１９１は、検証担当者が仕様書１９９から定義した情報である。
【０１４６】
図１２は、関連情報の具体例のイメージ図として関連情報１９２ａを、排他情報の具体例のイメージ図として排他情報１９２ｂを示す。
関連情報１９２ａは、検証担当者が仕様書１９９と単一イベント情報１９１をもとに作成した情報である。
排他情報１９２ｂは、検証担当者が仕様書１９９と単一イベント情報１９１をもとに作成した情報である。
関連情報１９２ａと排他情報１９２ｂで記載されている「＆」は、論理積「ＡＮＤ」を示している。また、「＊」は、ワイルドカード（任意のイベント）を意味している。
関連情報１９２ａの具体的な作成方法として、仕様書１９９にイベントａとイベントｂが同時に起こることが明記されているため、関連情報１９２ａに「ａ＆ｂ」を定義できる。また、イベントｄが全てのイベントと同時に起こることが仕様書１９９で明記されているため、関連情報１９２ａに「ｄ＆＊」を定義できる。
同様に、排他情報１９２ｂの具体的な作成方法として、仕様書１９９に「ａ」と「ｃ」が同時に起こらないことが明記されているので、排他情報１９２ｂに「ａ＆ｃ」を定義できる。
【０１４７】
図１３は、２重イベント候補（符号「１９３ｓ」）、２重イベント（符号「１９３Ｉ」）、Ｎ重イベント候補（符号「１９３ｓ３」〜「１９３ｓ６」）およびＮ重イベント（符号「１９３Ｉ３」〜「１９３Ｉ６」）（３≦Ｎ≦６）の具体例のイメージ図を示す。
【０１４８】
２重イベント候補群１９３ｓは、２重イベント定義部１１０が、単一イベント情報１９１をもとに網羅的に作成した組み合わせである。２重イベント情報１９３は、２重イベント定義部１１０と検証担当者がテスト必要と判断し２重イベントとして定義した情報である。２重イベント候補群１９３ｓで「○」印がついた項目は、関連情報１９２ａで定義された２重イベント候補である。２重イベント候補群１９３ｓで「×」印がついた項目は、排他情報１９２ｂで定義された２重イベント候補である。２重イベント定義部１１０が、関連情報１９２ａまたは排他情報１９２ｂで定義された組み合わせを分類する（２重イベント候補群１９３ｓの「○」印と「×」印に相当）。２重イベント候補群１９３ｓで「○」印も「×」印もついていない項目は、検証担当者がテストの要・不要を判断して２重イベント定義・排除に分類される。
【０１４９】
３重イベント候補群１９４ｓ３は、実施の形態１と同様の手段で、２重イベント情報１９３をもとに共通イベントをもつ２重イベント同士を組み合わせて作成される。具体的には、２重イベント情報１９３の「ａ＆ｂ」と「ａ＆ｄ」より、３重イベント候補「ａ＆ｂ＆ｄ」が作成される。３重イベント候補群１９４ｓ３で「×」印がついた項目は、排他情報１９２ｂで定義された組み合わせをもつ３重イベント候補である。Ｎ重イベント定義部１２０は、３重イベント候補群１９４ｓ３で「×」印がついた項目を削除し、３重イベント情報１９４Ｉ３を定義する。
４重イベント候補群１９４ｓ４も、３重イベント候補群１９４ｓ３と同様の手段で、３重イベント情報１９４Ｉ３をもとに共通イベントをもつ３重イベント同士を組み合わせて作成される。具体的には、３重イベント情報１９４Ｉ３の「ａ＆ｂ＆ｄ」と「ａ＆ｄ＆ｅ」より、４重イベント候補「ａ＆ｂ＆ｄ＆ｅ」が作成される。４重イベント情報１９４Ｉ４には、排他情報１９２ｂで定義された組み合わせを含んだ４重イベント候補がないため、Ｎ重イベント定義部１２０は、そのまま４重イベント候補群１９４ｓ４を４重イベント情報１９４Ｉ４に定義する。
５重イベント候補群１９４ｓ５も、３重イベント候補群１９４ｓ３と同様の手段で、４重イベント情報１９４Ｉ４をもとに共通イベントをもつ４重イベント同士を組み合わせて作成される。具体的には、４重イベント情報１９４Ｉ４の「ａ＆ｂ＆ｄ＆ｅ」と「ａ＆ｂ＆ｄ＆ｆ」より、５重イベント候補「ａ＆ｂ＆ｄ＆ｅ＆ｆ」が作成される。５重イベント候補群１９４ｓ５には、排他情報１９２ｂで定義された組み合わせを含んだ５重イベント候補がないため、Ｎ重イベント定義部１２０は、そのまま５重イベント候補群１９４ｓ５を５重イベント情報１９４Ｉ５に定義する。
６重イベント候補群１９４ｓ６も、３重イベント候補群１９４ｓ３と同様の手段で、５重イベント情報１９４Ｉ５をもとに共通イベントをもつ５重イベント同士を組み合わせて作成される。具体的には、５重イベント情報１９４Ｉ５の「ａ＆ｂ＆ｄ＆ｅ＆ｆ」と「ｂ＆ｄ＆ｃ＆ｅ＆ｆ」より、６重イベント候補「ａ＆ｂ＆ｃ＆ｄ＆ｅ＆ｆ」が作成される。Ｎ重イベント候補群１９４ｓの「×」印がついた項目が排他情報１９２ｂで定義された組み合わせを含んだ６重イベント候補である。Ｎ重イベント定義部１２０は、６重イベント情報１９４Ｉ６は“なし”と定義する。
６重イベント情報１９４Ｉ６を定義したのち、「Ｎ＝７（＝６＋１）」とインクリメントし、６（＝Ｎ−１）重イベントは存在しないので７重イベントを作成する前にＮ重イベントの定義は終了する。
【０１５０】
図１４は、多重イベント定義情報の具体例のイメージ図を示す。
多重イベント定義情報１９５は、多重イベント定義部１３０が、単一イベント情報１９１と２重イベント情報１９３とＮ重イベント情報３重イベント情報１９４Ｉ３とＮ重イベント情報４重イベント情報１９４Ｉ４とＮ重イベント情報５重イベント情報１９４Ｉ５をまとめて作成した情報である。
【０１５１】
以上のように、複数モジュールをまたがった場合でも、多重イベントを定義できる。
同じモジュール内の多重イベントについては検証担当者が容易に定義できるが、複数モジュールをまたがった場合の多重イベントについては対象の規模が大きくなり、検証担当者が定義することは困難である。
しかし、実施の形態２では、局所的な部分（モジュール内及び、隣同士のモジュールのイベント）に対して検証担当者が関連情報を作成し、あとはＮ重イベント定義部１２０がインクリメンタルに多重イベントを作成していくことによって序々に広範囲の多重イベントを作成していく。これにより、人間では見落としてしまう多重イベントの定義も可能となる。
【０１５２】
実施の形態３．
実施の形態１、２で説明した多重イベント定義装置１００により生成した多重イベント定義情報１９５を用いて検証対象をテストする形態について説明する。
以下、実施の形態１、２と異なる事項について主に説明する。説明を省略した事項は実施の形態１、２と同様である。
【０１５３】
図１５は、実施の形態３における多重イベント検証装置２００の機能構成図である。
実施の形態３における多重イベント検証装置２００の機能構成について、図１５に基づいて以下に説明する。
【０１５４】
多重イベント検証装置２００は、多重イベント定義情報生成部１０１（多重イベント定義装置）、ランダム検証システム２０１、多重イベント発生情報生成部２３０および検証装置記憶部（図示省略）を備える。
【０１５５】
多重イベント定義情報生成部１０１は、実施の形態１、２で説明した多重イベント定義装置１００の機能である（図１参照）。
【０１５６】
ランダム検証システム２０１は、ランダムパタンジェネレータ２１０と検証プラットフォーム２２０（テスト実行部の一例）とを備える。
ランダムパタンジェネレータ２１０は、後述する制約パラメータ２９１に基づいてテストパタン２９２を生成する。
検証プラットフォーム２２０は、テストパタン２９２を用いて検証装置をテストし、テストの実行ログ２９３を記録する。
【０１５７】
多重イベント発生情報生成部２３０は、検証プラットフォーム２２０により記録されたテストの実行ログ２９３に基づいて、多重イベント定義情報１９５に定義された複数の多重イベントのうちテストにおいて発生した多重イベントを示す多重イベント発生情報２９４を生成する。
多重イベント発生情報生成部２３０は、多重イベント発生情報２９４に基づいて、多重イベント定義情報１９５に定義された複数の多重イベントのうちテストにおいて発生しなかった多重イベントを示すテスト実施結果情報２９５を生成する。
【０１５８】
検証装置記憶部（図示省略）は、多重イベント検証装置２００で使用されるデータを記憶する。
単一イベント情報１９１、２重イベント情報１９３およびＮ重イベント情報１９４（図示省略）は多重イベント検証装置２００に記憶されるデータの一例である。
多重イベント定義情報１９５、制約パラメータ２９１、テストパタン２９２、多重イベント発生情報２９４およびテスト実施結果情報２９５は多重イベント検証装置２００に記憶されるデータの一例である。
【０１５９】
多重イベント定義情報１９５は、実施の形態１、２で説明したように多重イベント（テスト項目）が定義された情報である。
制約パラメータ２９１は、多重イベント定義情報１９５に基づいて生成される情報であってテストパタン２９２の生成に用いられる情報である。
テストパタン２９２は、制約パラメータ２９１に基づいて生成される情報であって検証対象をテストするためのテストデータである。
多重イベント発生情報２９４は、テストパタン２９２を用いて実行されたテストで発生した多重イベントを示す情報である。すなわち、多重イベント発生情報２９４は検証できた多重イベントを示す情報である。
テスト実施結果情報２９５は、多重イベント定義情報１９５に定義された多重イベントのうちテストパタン２９２を用いて実行されたテストで発生しなかった多重イベントを示す情報である。すなわち、テスト実施結果情報２９５は検証できなかった多重イベントを示す情報である。
【０１６０】
ランダム検証システム２０１として従来のシステム（例えば、特許文献２に開示されている技術）を利用することができる。
【０１６１】
図１６は、実施の形態３における多重イベント検証方法を示すフローチャートである。
実施の形態３における多重イベント検証方法について、図１６に基づいて以下に説明する。
【０１６２】
多重イベント検証装置２００の各構成は以下に説明する処理をＣＰＵを用いて実行する。
【０１６３】
まず、多重イベント検証方法の概要について説明する。
【０１６４】
多重イベント定義情報生成部１０１は多重イベント定義情報１９５を生成する（Ｓ２１０）。
検証担当者は多重イベント定義情報１９５に基づいて制約パラメータ２９１を生成する（Ｓ２２０）。
ランダムパタンジェネレータ２１０は制約パラメータ２９１に基づいてテストパタン２９２を生成する（Ｓ２３０）。
検証プラットフォーム２２０はテストパタン２９２を用いて検証対象のテストを実行し（Ｓ２４０）、実行ログ２９３を生成する（Ｓ２５０）。
多重イベント発生情報生成部２３０は実行ログ２９３に基づいて多重イベント発生情報２９４を生成する（Ｓ２６０）。
多重イベント発生情報生成部２３０は多重イベント定義情報１９５と多重イベント発生情報２９４とに基づいてテスト実施結果情報２９５を生成する（Ｓ２７０）。
Ｓ２２０〜Ｓ２７０は多重イベント定義情報１９５に定義された全ての多重イベントについてテストが終わるまで繰り返し実行される（Ｓ２８０）。
【０１６５】
次に、各処理（Ｓ２１０〜Ｓ２８０）の詳細について説明する。
【０１６６】
＜Ｓ２１０＞
多重イベント定義情報生成部１０１は、実施の形態１、２で説明したようにして多重イベント定義情報１９５を生成する。
Ｓ２１０の後、処理はＳ２２０に進む。
【０１６７】
＜Ｓ２２０＞
検証担当者は、多重イベント定義情報１９５に定義されている多重イベントが検証対象のテストで発生するように複数の制約パラメータ２９１を決定し、決定した複数の制約パラメータ２９１をランダム検証システム２０１に設定する。
例えば、制約パラメータ２９１は、テストパタン２９２のデータの種類や値の範囲などを定める情報である。
多重イベント検証装置２００が多重イベント定義情報１９５に基づいて制約パラメータ２９１を生成するようにしても構わない。
Ｓ２２０の後、処理はＳ２３０に進む。
【０１６８】
＜Ｓ２３０＞
ランダムパタンジェネレータ２１０は複数の制約パラメータ２９１を入力し、複数の制約パラメータ２９１それぞれに対応するテストパタン２９２を生成する。一つのテストパタン２９２が一回のテストに必要な情報を示す。
例えば、テストパタン２９２は、検証対象の入力データや設定値などを定める情報である。
例えば、ランダムパタンジェネレータ２１０は特許文献２の方法と同様にしてテストパタン２９２を生成する。
Ｓ２３０の後、処理はＳ２４０に進む。
【０１６９】
＜Ｓ２４０＞
検証プラットフォーム２２０は複数のテストパタン２９２を入力し、複数のテストパタン２９２を順に検証対象に入力して検証対象をテストする。テストはテストパタン２９２毎に行われる。
例えば、検証プラットフォーム２２０は特許文献２の方法と同様にして検証対象をテストする。
Ｓ２４０の後、処理はＳ２５０に進む。
【０１７０】
＜Ｓ２５０＞
検証プラットフォーム２２０は、テスト開始時、テスト中およびテスト終了時に検証対象の情報を実行ログ２９３として記録する。記録される情報は検証対象者により予め定義される。
例えば、検証プラットフォーム２２０は特許文献２の方法と同様にして実行ログ２９３を記録する。
Ｓ２５０の後、処理はＳ２６０に進む。
【０１７１】
＜Ｓ２６０＞
多重イベント発生情報生成部２３０は実行ログ２９３を入力し、実行ログ２９３に基づいて多重イベント発生情報２９４を生成する。
【０１７２】
図１７は、実施の形態３における多重イベント発生情報２９４の一例である。
例えば、図１７に示すように、多重イベント発生情報２９４は「発生時刻」と「イベント」とを対応付けて示す。
「発生時刻」には、多重イベント定義情報１９５に定義された複数の単一イベントのうち少なくともいずれかの単一イベントが発生した時刻が設定される。
「イベント」には、多重イベント定義情報１９５に定義された複数の単一イベントそれぞれの欄が設けられ、「発生時刻」に発生した単一イベントの欄にはフラグ「発生」が設定される。
【０１７３】
図１７の多重イベント発生情報２９４は、発生時刻「０」に単一イベント「ａ」、発生時刻「１」に単一イベント「ｂ」、発生時刻「２」に単一イベント「ｅ」が発生したことを示している。
また、発生時刻「３」に単一イベント「ｂ」と単一イベント「ｄ」とが同時に発生したことを示している。つまり、発生時刻「３」に２重イベント「ｂ＆ｄ」が発生したことを示している。
【０１７４】
図１６に戻り、多重イベント検証方法の説明を続ける。
【０１７５】
Ｓ２６０の後、処理はＳ２７０に進む。
【０１７６】
＜Ｓ２７０＞
多重イベント発生情報生成部２３０は、多重イベント発生情報２９４に基づいて、多重イベント定義情報１９５に定義されている複数の多重イベントのうち検証対象のテストで発生していない多重イベントを特定する。
多重イベント発生情報生成部２３０は、特定した多重イベントを設定したテスト実施結果情報２９５を生成する。
【０１７７】
図１８は、実施の形態３におけるテスト実施結果情報２９５の一例である。
例えば、図１８に示すように、テスト実施結果情報２９５は「多重イベント」毎に「テスト実施」および「テスト未実施」それぞれの欄が設けられている。
「多重イベント」には、多重イベント定義情報１９５に定義されている複数の多重イベントそれぞれが設定される。
検証対象のテストで少なくとも一度は発生した「多重イベント」に対して「テスト実施」欄にフラグ「●」が設定され、検証対象のテストで一度も発生しなかった「多重イベント」に対して「テスト未実施」欄にフラグ「●」が設定される。
【０１７８】
図１８のテスト実施結果情報２９５は、図１４の多重イベント定義情報１９５と図１７の多重イベント発生情報２９４に基づいて生成された情報を示している。
つまり、図１４に示す多重イベント定義情報１９５には３２個の多重イベントが定義されているため、図１８に示すテスト実施結果情報２９５の「多重イベント」には３２個の多重イベントが設定されている。
また、図１７に示す多重イベント発生情報２９４には単一イベント「ａ」が発生したこと（発生時刻「０」）や単一イベント「ａ」と単一イベント「ｂ」とが同時に発生したこと（発生時刻「９」「１０」）などが設定されているため、図１８に示すテスト実施結果情報２９５の多重イベント「ａ」「ａ＆ｂ」などの「テスト実施」欄にはフラグ「●」が設定されている。
また、図１７に示す多重イベント発生情報２９４には単一イベント「ｃ」が発生したことや単一イベント「ｅ」と単一イベント「ｆ」とが同時に発生したことなどが設定されていないため、図１８に示すテスト実施結果情報２９５の多重イベント「ｃ」「ｅ＆ｆ」などの「テスト未実施」欄にはフラグ「●」が設定されている。
【０１７９】
図１６に戻り、多重イベント検証方法の説明を続ける。
【０１８０】
Ｓ２７０の後、処理はＳ２８０に進む。
【０１８１】
＜Ｓ２８０＞
検証担当者は、テスト実施結果情報２９５に基づいて、多重イベント定義情報１９５に定義されている全ての多重イベントが検証対象のテストにおいて発生したか否か、すなわち、全ての多重イベントについてテスト（検証）を行えたか否かを判定する。
全ての多重イベントについてテストを行えた場合（ＹＥＳ）、多重イベント検証方法は終了する。
テストできていない多重イベントが残っている場合（ＮＯ）、処理はＳ２２０に戻る。以後、全ての多重イベントについてテストが行えるまで、テストできていない多重イベントを対象としてＳ２２０〜Ｓ２８０が繰り返し実行される。
【０１８２】
以上のように、多重イベント発生情報生成部２３０が多重イベント定義情報１９５と実行ログ２９３とを比較することにより、テストが未実施であった多重イベントの検出が可能になり、どの多重イベントのテストが不十分であるかが明確になる。追加テストを行う際に、次にどの多重イベントに対してテストを行えばよいのかが明確になる。そのため、検証担当者は、客観的に追加テストで設定する最適な制約パラメータを生成できる。
【０１８３】
実施の形態３において、例えば以下のような多重イベント検証装置２００について説明した。
【０１８４】
必要な全ての多重イベントを漏れなく定義する多重イベント定義情報生成手段と、テストの要・不要を分類する指標となる組み合わせ分類情報と、多重イベント定義情報生成手段で定義した多重イベントがテスト実施時に発生したかどうかを記録する多重イベント発生情報生成手段とを備える。
多重イベント定義情報生成手段は、必要な全ての２重イベントを漏れなく定義する２重イベント定義手段と、必要な全ての３重以上のイベントを漏れなく定義するＮ重イベント定義手段とを有する。
組み合わせ分類情報は、関連する複数のイベント同士を関連付ける関連情報と、テスト不要な複数のイベントの組み合わせを定義する排他情報とを有する。
【符号の説明】
【０１８５】
１００  多重イベント定義装置、１０１  多重イベント定義情報生成部、１１０  ２重イベント定義部、１２０  Ｎ重イベント定義部、１３０  多重イベント定義部、１９１  単一イベント情報、１９２  組み合わせ分類情報、１９２ａ  関連情報、１９２ｂ  排他情報、１９３  ２重イベント情報、１９３ｓ  ２重イベント候補群、１９４  Ｎ重イベント情報、１９４Ｉ３  ３重イベント情報、１９４Ｉ４  ４重イベント情報、１９４Ｉ５  ５重イベント情報、１９４Ｉ６  ６重イベント情報、１９４ｓ  Ｎ重イベント候補群、１９４ｓ３  ３重イベント候補群、１９４ｓ４  ４重イベント候補群、１９４ｓ５  ５重イベント候補群、１９４ｓ６  ６重イベント候補群、１９５  多重イベント定義情報、１９９  仕様書、１９９ａ  モジュール関連図、２００  多重イベント検証装置、２０１  ランダム検証システム、２１０  ランダムパタンジェネレータ、２２０  検証プラットフォーム、２３０  多重イベント発生情報生成部、２９１  制約パラメータ、２９２  テストパタン、２９３  実行ログ、２９４  多重イベント発生情報、２９５  テスト実施結果情報、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ドライブ装置、９０６  プリンタ装置、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群。
【図１】
2011048785.tif 000003
【図２】
2011048785.tif 000004
【図３】
2011048785.tif 000005
【図４】
2011048785.tif 000006
【図５】
2011048785.tif 000007
【図６】
2011048785.tif 000008
【図７】
2011048785.tif 000009
【図８】
2011048785.tif 000010
【図９】
2011048785.tif 000011
【図１０】
2011048785.tif 000012
【図１１】
2011048785.tif 000013
【図１２】
2011048785.tif 000014
【図１３】
2011048785.tif 000015
【図１４】
2011048785.tif 000016
【図１５】
2011048785.tif 000017
【図１６】
2011048785.tif 000018
【図１７】
2011048785.tif 000019
【図１８】
2011048785.tif 000020