(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-10
(45)【発行日】2022-01-13
(54)【発明の名称】テストデータ作成システムおよびテストデータ作成方法
(51)【国際特許分類】
G06F 11/263 20060101AFI20220105BHJP
G06F 11/22 20060101ALI20220105BHJP
【FI】
G06F11/263
G06F11/22 675Z
(21)【出願番号】P 2019216818
(22)【出願日】2019-11-29
【審査請求日】2019-12-02
(32)【優先日】2019-11-11
(33)【優先権主張国・地域又は機関】TW
(73)【特許権者】
【識別番号】599060434
【氏名又は名称】財團法人資訊工業策進會
(74)【代理人】
【識別番号】100082418
【氏名又は名称】山口 朔生
(74)【代理人】
【識別番号】100167601
【氏名又は名称】大島 信之
(74)【代理人】
【識別番号】100201329
【氏名又は名称】山口 真二郎
(72)【発明者】
【氏名】林佩儀
(72)【発明者】
【氏名】黄亭鈞
(72)【発明者】
【氏名】蔡宗達
(72)【発明者】
【氏名】田家▲イ▼
【審査官】三坂 敏夫
(56)【参考文献】
【文献】特開2018-098707(JP,A)
【文献】国際公開第2008/120552(WO,A1)
【文献】特開2010-236302(JP,A)
【文献】特開2017-194895(JP,A)
【文献】特開平01-233526(JP,A)
【文献】特開2006-227820(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/22-11/277
(57)【特許請求の範囲】
【請求項1】
少なくとも1つの第1装置のテストに用いる第1テストデータ、および第2装置のテストに用いる第2テストデータを記憶し、該第1テストデータおよび該第2テストデータは同じプロトコルに適合する記憶装置と、
該記憶装置と電気的に接続し、少なくとも該第1テストデータおよび該第2テストデータに基づいて、ファズデータを作成するプロセッサと、
該プロセッサと電気的に接続し、該ファズデータを該第2装置に伝送し、これにより該第2装置
に対して異常状態を引き起こすテスト
を行うトランシーバと、を含む、
テストデータ作成システム。
【請求項2】
該第1テストデータは該少なくとも1つの第1装置から該トランシーバに伝送され、該第2テストデータは該第2装置から該トランシーバに伝送される、請求項1に記載のテストデータ作成システム。
【請求項3】
該プロセッサは、さらに該第1テストデータおよび該第2テストデータを合わせて、該ファズデータを作成する、請求項1に記載のテストデータ作成システム。
【請求項4】
該プロセッサは、さらに該第1テストデータおよび該第2テストデータに基づき、機械学習モデルにより、該同じプロトコルに適合する第3テストデータを作成し、該第1テストデータ、該第2テストデータおよび該第3テストデータを合わせて、該ファズデータを作成する、請求項1に記載のテストデータ作成システム。
【請求項5】
該プロセッサは、さらに該第1テストデータおよび該第2テストデータを変異させ、変異後の第1テストデータおよび変異後の第2テストデータを合わせて、該ファズデータを作成する、請求項1に記載のテストデータ作成システム。
【請求項6】
該プロセッサは、さらに該第2装置の前回のテスト結果に基づいて、該第1テストデータおよび該第2テストデータの変異パターンの重みを決定する、請求項1に記載のテストデータ作成システム。
【請求項7】
該プロセッサは、さらに該第1テストデータを複数の第1ブロックに分割し、該第2テストデータを複数の第2ブロックに分割し、さらに各該複数の第2ブロックのブロック差異率を計算し、該複数の第2ブロックはそれぞれ該複数の第1ブロックに対応し、該複数の第2ブロック中のブロック差異率が所定の閾値より低い1つまたは複数の第2ブロックの内容に基づき、該1つまたは複数の第2ブロックとそれぞれ対応する1つまたは複数の第1ブロックの内容を調整して、調整した第1テストデータを作成し、少なくとも該調整後の第1テストデータおよび該第2テストデータを合わせて、該ファズデータを作成する、請求項1に記載のテストデータ作成システム。
【請求項8】
該プロセッサは、さらに該調整後の第1テストデータおよび該第2テストデータに基づき、機械学習モデルにより、該同じプロトコルに適合する第3テストデータを作成し、該調整後の第1テストデータ、該第2テストデータおよび該第3テストデータを合わせて、該ファズデータを作成する、請求項7に記載のテストデータ作成システム。
【請求項9】
該プロセッサは、さらに該第1テストデータを複数の第1ブロックに分割し、該第2テストデータを複数の第2ブロックに分割し、さらに各該複数の第2ブロックのブロック差異率を計算し、該複数の第2ブロックはそれぞれ該複数の第1ブロックに対応し、該複数の第2ブロック中のブロック差異率が所定の閾値より低い1つまたは複数の第2ブロックの内容に基づき、該1つまたは複数の第2ブロックとそれぞれ対応する1つまたは複数の第1ブロックの内容を調整して、調整した第1テストデータを作成し、該調整後の第1テストデータおよび該第2テストデータを変異させ、変異後の第1テストデータおよび変異後の第2テストデータを合わせて、該ファズデータを作成する、請求項1に記載のテストデータ作成システム。
【請求項10】
該プロセッサは、さらに該第2装置の前回のテスト結果に基づいて、該調整後の第1テストデータおよび該第2テストデータの変異パターンの重みを決定する、請求項9に記載のテストデータ作成システム。
【請求項11】
テストデータ作成システムが、少なくとも第1テストデータおよび第2テストデータに基づいてファズデータを作成し、このうち該第1テストデータは少なくとも1つの第1装置のテストに用いられ、該第2テストデータは第2装置のテストに用いられること、該テストデータ作成システムが、該ファズデータを該第2装置に伝送し、これにより該第2装置
に対して異常状態を引き起こすテスト
を行うこと、を含む、テストデータ作成方法。
【請求項12】
該テストデータ作成システムが、該少なくとも1つの第1装置から該第1テストデータを受信すること、該テストデータ作成システムが、該第2装置から該第2テストデータを受信すること、をさらに含む、請求項11に記載のテストデータ作成方法。
【請求項13】
該テストデータ作成システムが、該第1テストデータおよび該第2テストデータを合わせて、該ファズデータを作成することをさらに含む、請求項11に記載のテストデータ作成方法。
【請求項14】
該テストデータ作成システムが、該第1テストデータおよび該第2テストデータに基づき、機械学習モデルにより、該同じプロトコルに適合する第3テストデータを作成すること、該テストデータ作成システムが、該第1テストデータ、該第2テストデータおよび該第3テストデータを合わせて、該ファズデータを作成すること、をさらに含む、請求項11に記載のテストデータ作成方法。
【請求項15】
該テストデータ作成システムが、該第1テストデータおよび該第2テストデータを変異させること、該テストデータ作成システムが、変異後の第1テストデータおよび変異後の第2テストデータを合わせて、該ファズデータを作成すること、をさらに含む、請求項11に記載のテストデータ作成方法。
【請求項16】
該テストデータ作成システムが、該第2装置の前回のテスト結果に基づいて、該第1テストデータおよび該第2テストデータの変異パターンの重みを決定すること、をさらに含む、請求項15に記載のテストデータ作成方法。
【請求項17】
該テストデータ作成システムが、該第1テストデータを複数の第1ブロックに分割すること、該テストデータ作成システムが、該第2テストデータを複数の第2ブロックに分割し、さらに各該複数の第2ブロックのブロック差異率を計算し、該複数の第2ブロックはそれぞれ該複数の第1ブロックに対応すること、該テストデータ作成システムが、該複数の第2ブロック中のブロック差異率が所定の閾値より低い1つまたは複数の第2ブロックの内容に基づき、該1つまたは複数の第2ブロックとそれぞれ対応する1つまたは複数の第1ブロックの内容を調整して、調整した第1テストデータを作成すること、該テストデータ作成システムが、少なくとも該調整後の第1テストデータおよび該第2テストデータを合わせて、該ファズデータを作成すること、をさらに含む、請求項11に記載のテストデータ作成方法。
【請求項18】
該テストデータ作成システムが、該調整後の第1テストデータおよび該第2テストデータに基づき、機械学習モデルにより、該同じプロトコルに適合する第3テストデータを作成すること、該テストデータ作成システムが、該調整後の第1テストデータ、該第2テストデータおよび該第3テストデータを合わせて、該ファズデータを作成すること、をさらに含む、請求項17に記載のテストデータ作成方法。
【請求項19】
該テストデータ作成システムが、該第1テストデータを複数の第1ブロックに分割すること、該テストデータ作成システムが、該第2テストデータを複数の第2ブロックに分割し、さらに各該複数の第2ブロックのブロック差異率を計算し、該複数の第2ブロックはそれぞれ該複数の第1ブロックに対応すること、該テストデータ作成システムが、該複数の第2ブロック中のブロック差異率が所定の閾値より低い1つまたは複数の第2ブロックの内容に基づき、該1つまたは複数の第2ブロックとそれぞれ対応する1つまたは複数の第1ブロックの内容を調整して、調整した第1テストデータを作成すること、該テストデータ作成システムが、該調整後の第1テストデータおよび該第2テストデータを変異させること、該テストデータ作成システムが、変異後の第1テストデータおよび変異後の第2テストデータを合わせて、該ファズデータを作成すること、をさらに含む、請求項11に記載のテストデータ作成方法。
【請求項20】
該テストデータ作成システムが、該第2装置の前回のテスト結果に基づいて、該調整後の第1テストデータおよび該第2テストデータの変異パターンの重みを決定すること、をさらに含む、請求項19に記載のテストデータ作成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、テストデータ作成システムおよびテストデータ作成方法に関する。より具体的には、本開示は、多様化したテストデータを作成できるテストデータ作成システムおよびテストデータ作成方法に関する。
【背景技術】
【0002】
サイバー攻撃のいくつかは、すでに単一的なサイバー攻撃から多様化したサイバー攻撃へと進化している。いわゆる単一的なサイバー攻撃とは、攻撃者が単一の特定装置の弱点のみを狙って攻撃する(単一攻撃方式)ことを指し、多様化したサイバー攻撃とは、該特定装置の弱点を狙って攻撃する以外に、その他の装置の弱点に基づいて該特定装置も攻撃する(複数攻撃方式)ことを指す。この状況では、単一的なサイバー攻撃を阻止するためにある特定装置に対して行う従来のテスト方式は、その他の装置に対するテストデータが不足するため、多様化したサイバー攻撃に抵抗できない。このため、多様化したサイバー攻撃に抵抗できるテスト方式を提供することの重要性は高い。
【発明の概要】
【課題を解決するための手段】
【0003】
少なくとも上記問題を解決するため、本開示はテストデータ作成システムを提供する。該テストデータ作成システムは記憶装置、該記憶装置と電気的に接続するプロセッサ、および該プロセッサと電気的に接続するトランシーバを含むことができる。該記憶装置は少なくとも1つの第1装置のテストに用いる第1テストデータ、および第2装置のテストに用いる第2テストデータを記憶できる。該第1テストデータおよび該第2テストデータは、同じプロトコルに適合する。該プロセッサは、少なくとも該第1テストデータおよび該第2テストデータに基づいて、ファズデータを作成できる。該トランシーバは該ファズデータを該第2装置に伝送でき、これにより該第2装置をテストする。
【0004】
少なくとも上記問題を解決するため、本開示はさらにテストデータ作成方法を提供する。該テストデータ作成方法は、
テストデータ作成システムが、少なくとも第1テストデータおよび第2テストデータに基づいてファズデータを作成し、このうち該第1テストデータは少なくとも1つの第1装置のテストに用いられ、該第2テストデータは第2装置のテストに用いられること、
該テストデータ作成システムが、該ファズデータを該第2装置に伝送し、これにより該第2装置をテストすること、を含むことができる。
【0005】
上記のように、第2装置のテストに用いられるファズデータは、それ自体の第2テストデータおよび少なくとも1つの第1装置の第1テストデータを合わせて作成される。言い換えると、ファズデータは少なくとも1つの第1装置のテストに用いる第1テストデータを余分に含むため、第2テストデータの不足を補うことができ、さらには第2装置に対するテストの深さおよび広さを高め、これにより該テストは多様性を有する。
したがって、本開示中のテストデータ作成システムおよび方法が作成するファズデータによりテストするテスト方式は、従来のテスト方式と比較して、多様化したサイバー攻撃に効果的に抵抗できる。
【図面の簡単な説明】
【0006】
【
図1】本発明の1つまたは複数の実施例に基づくテストデータ作成システムを示す。
【
図2】
図1に示すテストデータ作成システムがどのようにしてファズデータを作成するかを示す。
【
図3A】本発明の1つまたは複数の実施例に基づく第1テストデータおよび第2テストデータを示す。
【
図3B】どのようにして該第2テストデータに基づき、該第1テストデータを調整するかを示す。
【
図3C】該第1テストデータおよび該第2テストデータを合わせた後の結果を示す。
【
図4】
図1に示すテストデータ作成システムが、どのようにして変異パターンの重みを調整して、より容易に装置の異常状態を引き起こすテストデータを作成するかを示す。
【
図5】本発明の1つまたは複数の実施例に基づくテストデータ作成方法を示す。
【発明を実施するための形態】
【0007】
以下に記載する各種の実施例は、記載する環境、応用、構造、プロセス、工程のみで本発明を実施すると制限するものではない。図中、本発明の実施例と直接関係のない要素はいずれも省略した。図中、各要素の寸法および各要素間の比率は模範例に過ぎず、本発明を制限するものではない。特に説明する以外、以下の内容において、同じ(または似た)要素の符号は同じ(または似た)要素に対応できる。実現できる状況で、特に説明していない場合、以下の記載における各要素の数量は、1つまたは複数を指す。
【0008】
図1は、本発明の1つまたは複数の実施例に基づくテストデータ作成システムを示す。
図1に示す内容は、本発明の実施例を説明するためのものに過ぎず、本発明を制限するものではない。
【0009】
図1を参照されたい。テストデータ作成システム11は、少なくとも1つの第1装置121および第2装置122(被験装置)と通信でき、さらに少なくとも第1装置121からの第1テストデータTD1および第2装置122からの第2テストデータTD2に基づいて、第2装置122のテストに用いるファズデータFTDを作成する。
テストデータ作成システム11は、単一の実体コンピュータまたは互いに相互に接続する複数の実体コンピュータにより実現できる。テストデータ作成システム11は、基本的に記憶装置111、プロセッサ112およびトランシーバ113を含むことができ、プロセッサ112は記憶装置111およびトランシーバ113とそれぞれ電気的に接続できる。
【0010】
記憶装置111は、テストデータ作成システム11が作成したデータ、または外部から伝送されたデータ、例えば第1テストデータTD1および第2テストデータTD2を記憶できる。記憶装置111は1次記憶装置(主記憶装置または内部記憶装置とも称する)を含むことができ、プロセッサ112は1次記憶装置内に記憶された命令セットを直接読み込むことができ、必要なときはこれらの命令セットを実行する。
記憶装置111は2次記憶装置(外部記憶装置または補助記憶装置とも称する)を選択的に含むことができ、この記憶装置はデータバッファを介して、記憶したデータを1次記憶装置に伝送できる。例を挙げると、2次記憶装置は、ハードディスク、光ディスクなどでよいがこれに限定されない。記憶装置111は3次記憶装置を選択的に含むことができ、つまり、直接挿入できる、またはコンピュータから抜くことができる記憶装置であり、例えばフラッシュドライブである。いくつかの実施例において、記憶装置111はさらにクラウド記憶ユニットを選択的に含むことができる。
【0011】
プロセッサ112は、信号処理機能を備えたマイクロプロセッサ(microprocessor)またはマイクロコントローラ(microcontroller)などでよい。マイクロプロセッサまたはマイクロコントローラは、プログラム可能な特殊集積回路であり、演算、記憶、出力/入力などの機能を有する。さらに各種コード化命令を受信して処理でき、これにより各種論理演算および算術演算を行い、相応の演算結果を出力する。プロセッサ112は、テストデータ作成システム11中で各種演算またはプログラムを実行するようにプログラミングされることができる。
【0012】
トランシーバ113は、第1装置121および第2装置122と有線または無線で通信でき、トランスミッタ(transmitter)およびレシーバ(receiver)を含むことができる。無線通信を例とすると、トランシーバ113はアンテナ、アンプ、変調器、復調器、検出器、アナログデジタルコンバータ、デジタルアナログコンバータなどの通信要素を含むことができるがこれに限定されない。
有線通信を例とすると、トランシーバ113は、例えばギガビットイーサネットトランシーバ(gigabit Ethernet transceiver)、ギガビットインターフェイスコンバータ(gigabit interface converter、GBIC)、スモールフォームファクタプラガブルトランシーバ(small form-factor pluggable(SFP)transceiver)、10ギガビットスモールフォームファクタプラガブルトランシーバ(ten gigabit small form-factor pluggable(XFP)transceiver)などでよいがこれに限定されない。
【0013】
図2は、
図1に示すテストデータ作成システム11がどのようにしてファズデータFTDを作成するかを示す。
図2に示す内容は、本発明の実施例を説明するためのものに過ぎず、本発明を制限するものではない。
【0014】
第2装置122を被験装置と仮定する。
図2に示すように、ファズデータの作成プロセス2において、まず、プロセッサ112は記憶装置111から第1テストデータTD1および第2テストデータTD2を取り込む(動作201と表示する)ことができる。
第1テストデータTD1は、第1装置121のテストに適したテストデータであり、第2テストデータTD2は第2装置122のテストに適したテストデータである。第2装置122は、被験装置である。いくつかの実施例において、第1テストデータTD1は第1装置121からトランシーバ113に伝送され、第2テストデータTD2は第2装置122からトランシーバ113に伝送される。いくつかの実施例において、第1テストデータTD1は第1装置121以外のその他の装置からトランシーバ113に伝送されることができ、第2テストデータTD2は第2装置122以外のその他の装置からトランシーバ113に伝送されることができる。
第1テストデータTD1を調整する必要がなく、第3テストデータを増やす必要が無く、テストデータを変異させる必要もない場合、動作202~207を省略でき、動作201の後に続けて動作208を行う。したがって、いくつかの実施例において、プロセッサ112は直接第1テストデータTD1および第2テストデータTD2を合わせてファズデータFTDにでき、さらにトランシーバ113がファズデータFTDを第2装置122に伝送することにより、第2装置122をテストする。
【0015】
いくつかの実施例において、ファズデータFTDを作成する前、プロセッサ112は先に第1テストデータTD1を調整することもできる。
以下、
図3A~3Cを例として説明する。
図3Aは、本発明の1つまたは複数の実施例に基づく第1テストデータおよび第2テストデータを示し、
図3Bはどのようにして該第2テストデータに基づき、該第1テストデータを調整するかを示し、
図3Cは、該第1テストデータおよび該第2テストデータを合わせた後の結果を示す。
図3A~
図3Cに示す内容は、本発明の実施例を説明するためのものに過ぎず、本発明を制限するものではない。
【0016】
図3Aに示すように、第1テストデータTD1は複数のサブテストデータTD1_1、TD1_2、TD1_3、…を含むことができ、第2テストデータTD2は複数のサブテストデータTD2_1、TD2_2、TD2_3、…を含むことができる。
第1テストデータTD1および第2テストデータTD2は、同じプロトコルの形式に適合するテストデータであり、第1テストデータTD1および第2テストデータTD2は、それぞれ互いに対応する複数のブロックに区分できる。例を挙げると、第1装置121および第2装置122が採用するプロトコルがメッセージキューイングテレメトリ伝送(Message Queuing Telemetry Transport、MQTT)である場合、第1テストデータTD1および第2テストデータTD2は、例えば「ヘッダ」、「ペイロード(payload)長」、「トピック長」、「トピック内容」、「メッセージ認証コード」、および「メッセージ内容」などのブロックに区分できる。
【0017】
さらに、第1テストデータTD1および第2テストデータTD2が適合するプロトコルが既知である状況で、プロセッサ112は例えば「PyShark」などのツールにより、第1テストデータTD1を複数の第1ブロック(例えば、第1ブロックB11、B12、B13およびB14)に区分し、第2テストデータTD2を複数の第2ブロック(例えば、第2ブロックB21、B22、B23およびB24)に区分でき、このうち該複数の第1ブロックはそれぞれ該複数の第2ブロックと対応する。
第1テストデータTD1および第2テストデータTD2が適合するプロトコルがわからない状況では、プロセッサ112は例えばニードルマン-ブンシュアルゴリズム(Needleman-Wunsch algorithm)により、第1テストデータTD1を該複数の第1ブロックに区分し、第2テストデータTD2を該複数の第2ブロックに区分できる。
【0018】
第1テストデータTD1および第2テストデータTD2は同じプロトコルに適合するが、第1装置121および第2装置122の操作環境および機能は異なることがあるため、第1テストデータTD1は第2テストデータTD2と同じように、第2装置122のテストに充分に適することができない可能性がある。この状況で、プロセッサ112は第2テストデータTD2中の各ブロックのデータが異なる程度を分析することにより、第1テストデータTD1を調整して(動作202と表示する)、第2装置122のテストへの使用により適するようにする必要があるかどうかを判断できる。
【0019】
具体的に、プロセッサ112は第2テストデータTD2における第2ブロックB21、B22、B23およびB24の数値の変化に基づいて、それぞれそのブロック差異率を計算できる。例を挙げると、プロセッサ112は「ニードルマン-ブンシュアルゴリズム」、「スミス-ウォーターマンアルゴリズム(Smith-Waterman algorithm)」、または「ヒルシュベルグアルゴリズム(Hirschberg’s algorithm)」などのアルゴリズムにより、それぞれ第2ブロックB21、B22、B23およびB24の最長共通部分列(Longest Common Subsequence、LCS)を計算でき、その後、これにより第2ブロックB21、B22、B23およびB24それぞれの数値の変化を求める。
図3Aを例とすると、第2ブロックB21、B22、B23およびB24のブロック差異率D1、D2、D3およびD4がそれぞれ「0%」、「30%」、「40%」および「90%」であると仮定する。ブロック差異率D1が「0%」であるとは、第2ブロックB21中のデータ内容にどのような差異も存在しないことを表し(例えば、いずれも「10」)、ブロック差異率D2が「30%」であるとは、第2ブロックB22中のデータ内容の変化率が30%であることを表し、これにより類推する。
【0020】
第2テストデータTD2中の各ブロックのブロック差異率を算出した後、プロセッサ112は各該ブロック差異率が所定の閾値より低いかどうかを判断して、第1テストデータTD1を相応に調整するかどうかを決定できる。例を挙げると、該所定の閾値が「5%」であると仮定すると、プロセッサ112はブロック差異率D1が該所定の閾値より低いこと(動作202で表す部分の判断結果が「はい」である)に基づいて、第1テストデータTD1中の第1ブロックB11を相応に調整でき(動作203と表示する)、これにより第1テストデータTD1に対する第2装置122の受容程度を高める。
図3Bを例とすると、プロセッサ112は第1ブロックB11を第2ブロックB21と同じ内容に調整でき、つまり、「10」に調整する。いくつかの実施例において、ブロックB21のブロック差異率D1が「0%」でない(例えば3%)と仮定すると、プロセッサ112はブロックB11の内容をブロックB21中の重複率が最も高い数値に調整できる。
【0021】
プロセッサ112が第1テストデータTD1を調整した後、第3テストデータを増やす必要が無く、テストデータを変異させる必要もない場合、動作204~207を省略でき、動作203の後に続けて動作208を行う。したがって、いくつかの実施例において、プロセッサ112は、第1テストデータTD1を調整した後、調整後の第1テストデータTD1および第2テストデータTD2を合わせてファズデータFTDにできる。
図3Cを例とすると、プロセッサ112は調整後の第1テストデータTD1および第2テストデータTD2を合わせて複数のサブファズデータFTD_1、FTD_2、FTD_3、FTD_4、FTD_5、FTD_6を含むファズデータFTDにできる。その後、トランシーバ113は、例えば
図3に示すファズデータFTDを第2装置122に伝送でき、これにより第2装置122をテストする。
【0022】
いくつかの実施例において、プロセッサ112は同じプロトコルに適合する第3テストデータを増やす必要があるかどうかを判断でき(動作204と表示する)、これによりテストデータの多様性を高める。動作204部分の判断結果が「はい」である場合、プロセッサ112は第2テストデータTD2、および動作201からの第1テストデータTD1または動作203からの調整後の第1テストデータTD1の形式および内容に基づいて、機械学習アルゴリズムによりデータ作成モデルを構築でき、さらに該データ作成モデルを使用して、該第3テストデータを作成する(動作205と表示する)。例を挙げると、該機械学習アルゴリズムは、長・短期記憶モデル(Long Short-Term Memory、LSTM)、再帰型ニューラルネットワーク(Recurrent Neural Network、RNN)、ディープニューラルネットワーク(Deep Neural Network、DNN)などの深層学習(deep learning)に関するアルゴリズムでよいがこれに限定されない。
【0023】
プロセッサ112が第3テストデータを追加で作成した後、テストデータを変異させる必要がない場合、動作206~207を省略でき、動作205の後に続けて動作208を行う。したがって、いくつかの実施例において、プロセッサ112は、第3テストデータを作成した後、第1テストデータTD1(または調整後の第1テストデータTD1)、第2テストデータおよび第3テストデータを合わせてファズデータFTDにできる。その後、トランシーバ113は、ファズデータFTDを第2装置122に伝送でき、これにより第2装置122をテストする。
【0024】
いくつかの実施例において、プロセッサ112はテストデータを変異させるかどうかを判断できる(動作206と表示する)。動作206部分の判断結果が「はい」である場合、テストデータを変異させて(動作207と表示する)、第2装置122のテスト過程でより多くの異常状態が出現する可能性を高める。いくつかの実施例において、プロセッサ112は第1テストデータTD1および第2テストデータTD2を読み込んだ(すなわち動作201)後、第1テストデータTD1および第2テストデータTD2を変異させることができ、その後変異させた該データを合わせてファズデータFTDにする。いくつかの実施例において、プロセッサ112は第1テストデータTD1を調整した(すなわち動作203)後、調整後の第1テストデータTD1および第2テストデータTD2を変異させることができ、その後変異させた該データを合わせてファズデータFTDにする。いくつかの実施例において、プロセッサ112は第3テストデータを増やした(すなわち動作205)後、第2テストデータTD2、第3テストデータおよび第1テストデータTD1(または調整後の第1テストデータTD1)を変異させることができ、その後変異させた該データを合わせてファズデータFTDにする。
プロセッサ112は、様々な変異パターンに基づいてテストデータを変異させることができ、このうち各変異パターンは、テストデータ中のあるブロックを変異させる変異方式で示す。このうち変異方式は、例えばビット変異、キャラクタ変異または長さ変異などでよい。
【0025】
いくつかの実施例において、プロセッサ112は第2装置の前回のテスト結果に基づいて、テストデータの変異パターンの重みを決定することもできる。以下、
図4を例として説明する。
図4はテストデータ作成システム11が、どのようにして変異パターンの重みを調整して、より容易に装置に異常状態を引き起こすテストデータを作成するかを示す。
図4に示す内容は、本発明の実施例を説明するために過ぎず、本発明を制限するためではない。
【0026】
いくつかの実施例において、プロセッサ112は先に第2装置122の前回のテスト結果に基づいて、テストデータの変異パターンの重みを調整することもでき、これにより第2装置122のテスト時に異常な変異パターンが容易に出現する選択確率を高める。
図4に示すように、全部で5つの変異パターンM1~M5があると仮定する。第2装置122の前回のテスト結果で、変異パターンM1が第2装置122に異常状態S1およびS2を生じさせ、変異パターンM2は第2装置122に異常状態S3を生じさせ、変異パターンM3は第2装置122に異常状態S2およびS3を生じさせ、変異パターンM4は第2装置122に異常状態S1を生じさせ、変異パターンM5は第2装置122に異常状態S1およびS3を生じさせる。このうち、状態S1は第2装置122の応答時間が過度に長いことを表し、状態S2は第2装置122を再起動しなければならないことを表し、状態S3は第2装置122の接続をリセットしなければならないことを表す。
【0027】
さらに、変異パターンの重みを調整しない状況では、変異パターンM1~M5の重みはいずれも「1」であるため、その選択確率もいずれも同じである。第2装置122に異常状態が発生する確率を高めるため、いくつかの実施例において、プロセッサ112は変異戦略Aを用いることができる。つまり異常状態S1~S3の重みの総和に基づいて、変異パターンM1~M5の重みを設定する。この状況で、変異パターンM1~M5の重みは、それぞれ「2」、「1」、「2」、「1」、「2」に調整され、これにより第2装置122に複数の異常状態が同時に発生する確率を高める。いくつかの実施例において、プロセッサ112は変異戦略Bを用いることができる。つまり先に異常状態S1~S3の深刻さの程度に基づいて、異常状態S1~S3の重みを調整し、その後さらに異常状態S1~S3の調整後の重みの総和に基づいて、変異パターンM1~M5の重みを設定する。この状況では、変異パターンM1~M5の重みは、それぞれ「9」、「3」、「10」、「2」、「5」に調整され、これにより第2装置122に複数の異常状態が同時に発生する確率を高めただけでなく、第2装置122に深刻な異常が発生する確率も高めた。その他の実施例において、プロセッサ112はその他の変異戦略を用いて変異パターンM1~M5の重みを調整することもでき、
図4に示す変異戦略Aおよび変異戦略Bに限定されない。
【0028】
いくつかの実施例において、第2装置122はテスト完了後、そのテスト結果および/またはそのテストデータをテストデータ作成システム11に戻すことができ、次にテストデータを作成する参考、基準とする。
【0029】
図5は、本発明の1つまたは複数の実施例に基づくテストデータ作成方法を示す。
図5に示す内容は、本発明の実施例を説明するために過ぎず、本発明を制限するためではない。
【0030】
図5を参照されたい。テストデータ作成方法5は、以下の工程を含むことができる。
テストデータ作成システムは、少なくとも第1テストデータおよび第2テストデータに基づいてファズデータを作成し、このうち該第1テストデータは少なくとも第1装置のテストに用いられ、該第2テストデータは第2装置のテストに用いられる(工程501と表示する)。
該テストデータ作成システムは、該ファズデータを該第2装置に伝送し、これにより該第2装置をテストする(工程502と表す)。
【0031】
いくつかの実施例において、テストデータ作成方法5は以下の工程を含むこともできる。
該テストデータ作成システムは、該少なくとも1つの第1装置から該第1テストデータを受信する。
該テストデータ作成システムは、該第2装置から該第2テストデータを受信する。
【0032】
いくつかの実施例において、テストデータ作成方法5は、以下の工程を含むこともできる。該テストデータ作成システムは、該第1テストデータおよび該第2テストデータを合わせて、該ファズデータを作成する。
【0033】
いくつかの実施例において、テストデータ作成方法5は以下の工程を含むこともできる。
該テストデータ作成システムは、該第1テストデータおよび該第2テストデータに基づき、機械学習モデルにより、該同じプロトコルに適合する第3テストデータを作成する。
該テストデータ作成システムは、該第1テストデータ、該第2テストデータおよび該第3テストデータを合わせて、該ファズデータを作成する。
【0034】
いくつかの実施例において、テストデータ作成方法5は以下の工程を含むこともできる。
該テストデータ作成システムは、該第1テストデータおよび該第2テストデータを変異させる。
該テストデータ作成システムは、変異後の第1テストデータおよび変異後の第2テストデータを合わせて、該ファズデータを作成する。これらの実施例において、テストデータ作成方法5は、該テストデータ作成システムが該第2装置の前回のテスト結果に基づいて、該第1テストデータおよび第2テストデータの変異パターンの重みを決定することを選択可能に含むこともできる。
【0035】
いくつかの実施例において、テストデータ作成方法5は以下の工程を含むこともできる。
該テストデータ作成システムは、該第1テストデータを複数の第1ブロックに分割する。
該テストデータ作成システムは、該第2テストデータを複数の第2ブロックに分割し、さらに各該複数の第2ブロックのブロック差異率を計算し、該複数の第2ブロックはそれぞれ該複数の第1ブロックに対応する。
該テストデータ作成システムは、該複数の第2ブロック中のブロック差異率が所定の閾値より低い1つまたは複数の第2ブロックの内容に基づき、該1つまたは複数の第2ブロックとそれぞれ対応する1つまたは複数の第1ブロックの内容を調整して、調整した第1テストデータを作成する。
該テストデータ作成システムは、少なくとも該調整後の第1テストデータおよび該第2テストデータを合わせて、該ファズデータを作成する。
【0036】
いくつかの実施例において、テストデータ作成方法5は以下の工程を含むこともできる。
該テストデータ作成システムは、該第1テストデータを複数の第1ブロックに分割する。
該テストデータ作成システムは、該第2テストデータを複数の第2ブロックに分割し、さらに各該複数の第2ブロックのブロック差異率を計算し、該複数の第2ブロックはそれぞれ該複数の第1ブロックに対応する。
該テストデータ作成システムは、該複数の第2ブロック中のブロック差異率が所定の閾値より低い1つまたは複数の第2ブロックの内容に基づき、該1つまたは複数の第2ブロックと対応する1つまたは複数の第1ブロックの内容をそれぞれ調整して、調整した第1テストデータを作成する。
該テストデータ作成システムは、該調整後の第1テストデータおよび該第2テストデータに基づき、機械学習モデルにより、該同じプロトコルに適合する第3テストデータを作成する。
該テストデータ作成システムは、該調整後の第1テストデータ、該第2テストデータおよび該第3テストデータを合わせて、該ファズデータを作成する。
【0037】
いくつかの実施例において、テストデータ作成方法5は以下の工程を含むこともできる。
該テストデータ作成システムは、該第1テストデータを複数の第1ブロックに分割する。
該テストデータ作成システムは、該第2テストデータを複数の第2ブロックに分割し、さらに各該複数の第2ブロックのブロック差異率を計算し、該複数の第2ブロックはそれぞれ該複数の第1ブロックに対応する。
該テストデータ作成システムは、該複数の第2ブロック中のブロック差異率が所定の閾値より低い1つまたは複数の第2ブロックの内容に基づき、該1つまたは複数の第2ブロックとそれぞれ対応する1つまたは複数の第1ブロックの内容を調整して、調整した第1テストデータを作成する。
該テストデータ作成システムは、該調整後の第1テストデータおよび該第2テストデータを変異させる。
該テストデータ作成システムは、変異後の第1テストデータおよび変異後の第2テストデータを合わせて、該ファズデータを作成する。これらの実施例において、テストデータ作成方法5は、該テストデータ作成システムが該第2装置の前回のテスト結果に基づいて、該調整後の第1テストデータおよび該第2テストデータの変異パターンの重みを決定することを選択可能に含むこともできる。
【0038】
上記実施例以外に、テストデータ作成方法5はテストデータ作成システム11の上記すべての実施例と対応するその他の実施例も含む。当業者は、前文のテストデータ作成システム11に対する説明に基づいて、テストデータ作成方法5のこれらその他の実施例を理解できるため、ここでは言及しない。
【0039】
本文は複数の実施例を開示したが、該実施例は本発明を制限しない。本発明の趣旨および範囲を逸脱しない状況で、該実施例の均等物または方法(例えば、上記実施例を修正および/または合わせる)も、本発明の一部分である。本発明の範囲は、特許請求の範囲で画定した内容を基準とする。
【符号の説明】
【0040】
11 テストデータ作成システム
111 記憶装置
112 プロセッサ
113 トランシーバ
121 第1装置
122 第2装置
2 ファズデータの作成プロセス
201、202、203、204、205、206、207、208 動作
5 テストデータ作成方法
501、502 工程
B11、B12、B13、B14 第1ブロック
B21、B22、B23、B24 第2ブロック
D1、D2、D3、D4 ブロック差異率
FTD ファズデータ
FTD_1、FTD_2、FTD_3、FTD_4、FTD_5、FTD_6 サブファズデータ
M1、M2、M3、M4、M5 変異パターン
S1、S2、S3 異常状態
TD1 第1テストデータ
TD1_1、TD1_2、TD1_3 第1サブテストデータ
TD2 第2テストデータ
TD2_1、TD2_2、TD2_3 第2サブテストデータ