JP4947427B2 - 検査時間制御装置、方法、およびプログラム - Google Patents
検査時間制御装置、方法、およびプログラム Download PDFInfo
- Publication number
- JP4947427B2 JP4947427B2 JP2007289334A JP2007289334A JP4947427B2 JP 4947427 B2 JP4947427 B2 JP 4947427B2 JP 2007289334 A JP2007289334 A JP 2007289334A JP 2007289334 A JP2007289334 A JP 2007289334A JP 4947427 B2 JP4947427 B2 JP 4947427B2
- Authority
- JP
- Japan
- Prior art keywords
- inspection
- time
- depth
- search
- search depth
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
図2の検査対象プログラム1および、図3の検査仕様2を参照すると、検査仕様2は、検証プログラム1において、main関数が、INT範囲として取り得る任意の値からなるxを引数として受け取るとき、「L9のassert関数が実行されることがある。」ことを表す。なお、検査対象プログラム1と、検査仕様2と、検査制限時間3とは、従来の方法により外部から入力される。
従来のモデル検査装置の構成を説明する。図1は従来のモデル検査装置の構成を示している。図1のモデル検査装置は、検査処理部10と記憶装置20を備える。
検査処理部10及び記憶装置20は、図4に示すようなコンピュータにより実現される。図4を参照すると、検査処理部10と記憶装置20は、処理部100、記憶部200、入力部300、出力部400、通信部500をそれぞれ備える。それぞれの部位間は電気的に接続されている。処理部100はMPU(Micro Processing Unit)等で、記憶部200はRAM(Random Access Memory)やROM(Read Only Memory)等で、入力部300はキーボードやマウス等で、出力部400は液晶ディスプレイ等で、通信部500はLAN(Local Area Network)ポート等で、それぞれ実現される。検査処理部10と記憶装置20は、通信部500を介して接続されている。あるいは、検査処理部10と記憶装置20は、一つのコンピュータの中で実現される。従来のモデル検査装置の各機能は、検査対象プログラム1、検査仕様2、検査制限時間3に基づいて、記憶部200のRAMやROMに保存された処理用プログラムを、処理部100のMPU等が実行することによって実現される。
まず、検査処理部10について説明する。検査処理部10は、記号モデル作成部11と、検査制御部12と、到達可能性検査部13と、検査結果出力部14を備える。
到達可能性検査部13は、初期状態V0から探索深度nの遷移で到達することができる状態に、検査仕様2の到達状態集合Iが含まれていることが証明できた場合、検査対象プログラム1は、検査仕様2を満たすことを検査結果5に記録して検査結果出力部14へ出力する。
一方、到達可能性検査部13は、初期状態V0から探索深度nの遷移で到達することができる状態に、検査仕様2の到達状態集合Iが含まれておらず、探索深度nで新たに到達できる状態が他に存在しないときには、到達可能性検査部13は、探索深度をn+1に増やして検査を継続する。このように、到達可能性検査部13は、検査仕様2が証明されるまで探索深度を1づつ増加させて検査を繰り返す。到達可能性検査部13が行うこのような検査は、従来のプロパティ検証技術であって、特許文献1や非特許文献2に記載されている。
次に、記憶装置20について説明する。記憶装置20は、記号モデル記憶部22を備える。
次に、図7を使用して従来のモデル検査装置の動作方法を説明する。図7は、従来のモデル検査装置の動作方法を示している。
検査処理部10の記号モデル作成部11は、外部から、検査対象プログラム1と検査仕様2を入力する。記号モデル作成部11は、検査対象プログラム1および検査仕様2に基づいて、記号モデルを作成する。記号モデル作成部11は、作成した記号モデルを記憶装置20の記号モデル記憶部22へ保存する。
検査処理部10の検査制御部12は、外部から検査制限時間3を入力する。検査制御部12は、記憶装置20の記号モデル記憶部22から記号モデルを読み込む。検査制御部12は、検査対象プログラム1が検査仕様2を満たすか否かの検査を検査制限時間3で実行するように到達可能性検査部13へ検査実行を命令する。
到達可能性検査部13は、検査制御部12からの検査実行の命令に従い、検査検査の開始にあたって、初期状態として探索深度n=0と設定する。
到達可能性検査部13は、初期状態集合V0から探索深度nの状態遷移で到達可能な各状態において、検査仕様2の到達状態集合Iが含まれているかの検査を実行する。また、到達可能性検査部13は、検査の開始と同時に検査の経過時間の測定を開始する。到達能性検査部13は、検査開始からの経過時間が検査制限時間3に到達した時点で検査を終了する。
到達可能性検査部13は、初期状態集合V0から探索深度nの状態遷移で到達可能な全ての状態において、到達状態集合Iが含まれているかを判定する。到達状態集合Iが含まれている場合は、ステップA06へ進む。到達状態集合Iが含まれていない場合は、ステップA07へ進む。
探索深度nにおいて到達状態集合Iが含まれている場合、到達可能性検査部13は、検査対象プログラム1が検査仕様2を満たすことを検査結果5に記録して、検査結果出力部14へ出力する。検査結果出力部14は、検査結果5を入力し、検査結果5を外部へ出力する。到達可能性検査部13は、検査制御部12へ検査対象プログラム1の検査完了を通知して検査を完了する。
探索深度nにおいて到達状態集合Iが含まれていない場合、到達可能性検査部13は、検査を継続する。到達可能性検査部13は、探索深度n=n+1としてステップA04へ戻る。
また、従来のモデル検査手法では、検査時間が非常に長くなるという課題がある。探索深度が深くなるほど状態数が指数的に増加する状態爆発の問題によって、検査そのものが完了しないという状況に至ることがある。
このため、従来のモデル検査手法においては、あらかじめ制限時間を設けており、制限時間内に検査が完了しない場合には、検査開始からの経過時間が制限時間に達した時点で、検査を途中で終了するという方法がとられている。
しかし、このような方法は、仮に検査が膨大な時間を要するものであったとしても、制限時間の上限値まで検査を続ける以外に、検査が完了するか否かの判定がつかないという課題も存在する。つまり、元々、膨大な時間が掛かる可能性が高い検査であるにもかかわらず、実際に膨大な時間をかけて制限時間を使い切ってみて初めて、検証が完了しないことがわかるということである。特許文献2ならびに特許文献3には、モデル検査手法における検査時間を制御する例が開示されている。
検査の対象であるプログラムの実行文を実行した回数を表す探索深度のうち、プログラムの初期状態からプログラムの検査仕様を満たすことを示す仕様充足状態へ状態を遷移するために要する最短探索深度を算出する最短探索深度算出ステップと、
プログラムにおいて、探索深度毎に仕様充足状態へ状態を遷移することが可能であるかの検査を実行する検査実行ステップと、
探索深度の各々における検査に要した深度別検査時間を出力する深度別検査時間出力ステップと、
到達可能性検査部が各探索深度について検査を完了する毎に、最短探索深度まで検査を完了するために要する予想時間である仕様到達予想時間を算出する予想時間算出ステップと、
到達可能性検査部は、プログラムの検査に対する検査制限時間のうち残りの残検査制限時間を仕様到達予想時間が超過する場合には、検査を途中で終了する検査終了ステップとを備える。
本実施例の説明において、検査対象プログラム1および検査仕様2は、従来のモデル検査装置の説明と同様のものである。図2は、検査対象プログラム1の例を示している。図3は、検査仕様2の例を示している。従来のモデル検査装置の説明と同様に、図2の検査対象プログラム1および、図3の検査仕様2を参照すると、検査仕様2は、検証プログラム1において、main関数が、INT範囲として取り得る任意値からなるxを引数として受け取るとき、「L9のassert関数が実行されることがある。」ことを表す。なお、検査対象プログラム1と、検査仕様2と、検査制限時間3とは、外部装置から、モデル検査時間制御装置の構成部位へ入力される。
図8を使用して、本実施例のモデル時間制御装置の構成を説明する。本実施例のモデル検査時間制御装置は、検査処理部10と、記憶装置20と、深度算出部30と、時間算出部40とを備える。検査処理部10、記憶装置20、深度算出部30及び時間算出部40は、図9に示すような従来のコンピュータにより実現される。検査処理部10、記憶装置20、深度算出部30及び時間算出部40は、処理部100、記憶部200、入力部300、出力部400、通信部500をそれぞれ備える。処理部100はMPU(Micro Processing Unit)等で、記憶部200はRAM(Random Access Memory)やROM(Read Only Memory)等で、入力部300はキーボードやマウス等で、出力部400は液晶ディスプレイ等で、通信部500はLAN(Local Area Netword)ポート等で、それぞれ実現される。本発明のモデル検査時間制御装置の各機能は、外部から入力される、検査対象プログラム1、検査仕様2、検査制限時間3に基づいて、記憶部200のRAMやROM等に保存された処理用プログラムを、処理部100のMPU等が実行することによって実現する。検査処理部10と、記憶装置20と、深度算出部30と、時間算出部40の各部位は、有線通信技術あるいは無線通信技術によって接続されている。これらは、直接的に接続されていてもよいし、ネットワークを介して接続されていてもよい。これらは、従来のデータ通信技術によって実現される。また、検査処理部10と、記憶装置20と、深度算出部30と、時間算出部40の各部位は、一つのコンピュータの中で実現されてもよい。
まず、検査処理部10について説明する。検査処理部10は、記号モデル作成部11と、検査制御部12と、到達可能性検査部13と、検査結果出力部14を備える。
また、時間算出部40の予想検査時間算出部41が当該検査は検査制限時間3内に完了しないと判定し、予想検査時間算出部41が後述する検査完了不可通知を出力した場合には、検査制御部12は、検査完了不可通知を入力して、到達可能性検査部13へ検査終了命令を行う。この場合、到達可能性検査部13は、検査終了令を受けて当該検査を終了する。
一方、初期状態集合V0から探索深度nの状態遷移で到達することができる状態に、検査仕様2の到達状態集合Iがふくまれておらず、探索深度nの状態遷移で新たに到達できる状態が他に存在しない場合、到達可能性検査部13は、探索深度をn+1に増やして検査を継続する。
また、検査制御部12から検査終了命令を受けた場合、到達可能性検査部13は、検査終了命令を受けた時点で検査を終了する。この場合、到達可能性検査部13は、検査終了命令により検査を終了したこと記録した検査結果5を検査結果出力部14へ出力する。
さらに、本実施例において到達可能性検査部13は、探索深度n毎の検査に要した探索時間を測定する。到達可能性検査部13は、探索深度nにおける検査処理を完了する毎に、探索深度nにおいて検査に要した探索時間を、探索深度nに対応させて、記憶装置20の探索時間記憶部24へ保存する。
次に、深度算出部30について説明する。深度算出部30は、状態遷移モデル作成部31と最短探索深度算出部32を備える。
図10において、分岐条件の条件を無視した有効グラフとして考える場合、初期状態のL0から検査仕様2が示す到達状態のL9への最短経路は、L0からL1、L6、L7、L8、L9と遷移する経路となる。この最短経路は、状態間を5回遷移している。これにより、検査対象プログラム1において初期状態から検査仕様2が示す到達状態への最短探索深度Nは「N=5」となる。
次に、時間算出部40の説明をする。時間算出部40は、予想検査時間算出部41を備える。
以下に、予想検査時間算出部41が行う判定方法を説明する。まず、予想検査時間算出部41は、到達可能性検査部13が探索深度nの検査を完了する毎に、仕様到達予想時間を算出する。仕様到達予想時間とは、到達可能性検査部13が探索深度nの検査を完了した時点で、探索深度n+1から最短探索深度Nまでの検査に必要と予想する残り時間である。予想検査時間算出部41は、記憶装置20の探索時間記憶部24に保存された探索深度毎の探索時間と、記憶装置20の最短探索深度記憶部23に保存された最短探索深度Nとに基づいて、仕様到達予想時間を算出する。
予想検査時間算出部41は、当該検査が検査制限時間3内に完了しないと判定した場合、検査完了不可通知を検査制御部12へ出力する。検査制御部12は、検査完了不可通知を受けて到達可能性検査部13へ当該検査の終了を命令する。一方、予想検査時間算出部41は、当該検査が検査制限時間3内に完了すると判定した場合、特に命令は出力せず検査を続行する。
なお、予想検査時間算出部41による、仕様到達予測時間の算出方法、検査制限時間3内に検査が完了するか否かの判定方法、検査の終了または続行の命令方法はこれに限定しない。例えば、予想検査時間算出部41は、当該検査が検査制限時間3内に完了すると判定した場合に、検査続行命令を出力し、検査制御部12は検査続行命令に従って到達可能性検査部13へ検査の続行を命令してもよい。また、予想検査時間算出部41は、仕様到達予測時間を算出のみを実行し、検査を終了するか続行するかの判定は、検査制御部12が行ってもよい。
次に、記憶装置20の説明をする。記憶装置20は、状態遷移モデル記憶部21と、記号モデル記憶部22と、最短探索深度記憶部23と、探索時間記憶部24とを備える。
状態遷移モデル作成部31は、検査対象プログラム1と検査仕様2に基づいて状態遷移モデルを作成する。最短探索深度算出部32は、状態遷移モデルに基づいて最短探索深度Nを算出する。最短探索深度Nが算出されることで、当該検査がどの探索深度まで検査が行われることによって完了するのかを判断できる。
さらに、到達可能性検査部13は、探索深度nの検査が完了する毎に、探索深度毎の探索時間を出力する。予想検査時間算出部41は、探索深度毎の探索時間に基づいて、仕様到達予想時間する。予想検査時間算出部41は、図11の式6によって適切な仕様到達予測時間を算出することができる。
加えて、予想検査時間算出部41は、探索深度毎の探索時間の合計することで検査開始からの経過時間を算出する。予想検査時間算出部41は、検査制限時間3から、検査開始からの経過時間を減算して残検査制限時間を求める。予想検査時間算出部41は、残検査制限時間から仕様到達予測時間を減算することで、検査が検査制限時間3内に完了可能か否かを容易に判定できる。
これによって、検査が検査制限時間3内に完了しないと判定した場合にはその時点で検査を終了することが可能となり、検査制限時間3が全て経過してようやく検査が完了しないことが判明するという状態を防ぐことが可能となる。
次に、図14を使用して本発明の本実施例における動作を説明する。図14は本発明の本実施例における動作方法を示している。図14において、ステップA01からステップA07については、前述した従来のモデル検査装置の動作方法と同様である。ステップB01からステップB08が、本実施例に特有の動作方法である。
深度算出部30の状態モデル作成部31は、検査対象プログラム1と検査仕様2を読み込み、状態遷移モデルを作成する。状態モデル作成部31は、作成した状態遷移モデルを記憶装置20の状態遷移モデル記憶部21へ保存する。なお、状態モデルの作成命令は外部から入力されても検査制御部12から入力されてもよい。状態モデルの作成命令を出力する動作主体と動作方法については本実施例において特に限定はしない。
深度算出部30の最短探索深度算出部32は、記憶装置20の状態遷移モデル記憶部21から状態遷移モデルを読み込む。最短探索深度算出部32は、状態遷移モデルにおいて、初期状態から検査仕様2が示す到達状態への最短探索深度Nを求める。最短探索深度算出部32は、求めた最短探索深度Nを、記憶装置20の最短探索深度記憶部23へ保存する。
検査処理部10の記号モデル作成部11は、外部から、検査対象プログラム1と検査仕様2を入力する。記号モデル作成部11は、検査対象プログラム1および検査仕様2に基づいて、記号モデルを作成する。記号モデル作成部11は、作成した記号モデルを記憶装置20の記号モデル記憶部22へ保存する。なお、記号モデルの作成命令は外部から入力されても検査制御部12から入力されてもよい。記号モデルの作成命令を出力する動作主体と動作方法については本実施例において特に限定はしない。
検査処理部10の検査制御部12は、外部から検査制限時間3を入力する。検査制御部12は、記憶装置20の記号モデル記憶部22から記号モデルを読み込む。検査制御部12は、検査対象プログラム1が検査仕様2を満たすか否かの検査を検査制限時間3で実行するように到達可能性検査部13へ検査実行を命令する。なお、本実施例において、検査制御部12への検査開始命令は外部から入力されるものとする。検査開始命令を出力する動作主体と動作方法については本実施例において特に限定はしない。
到達可能性検査部13は、検査制御部12からの検査実行の命令に従い、検査検査の開始にあたって、初期状態として探索深度n=0と設定する。
到達可能性検査部13は、初期状態集合V0から探索深度nの状態遷移で到達可能な各状態において、検査仕様2の到達状態集合Iが含まれているかの検査を実行する。また、到達可能性検査部13は、検査の開始と同時に検査の経過時間の測定を開始する。到達能性検査部13は、検査開始からの経過時間が検査制限時間3に到達した時点で検査を終了する。さらに、到達可能性検査部13は、検査を開始すると探索深度n毎の探索時間を測定する。
到達可能性検査部13は、初期状態集合V0から探索深度nの状態遷移において、到達状態集合Iが含まれているか否かを判定する。探索深度nにおいて到達状態集合Iが含まれている場合は、ステップA06へ進む。探索深度nにおいて到達状態集合Iが含まれていない場合は、ステップB03へ進む。
探索深度nにおいて到達状態集合Iが含まれている場合、到達可能性検査部13は、検査対象プログラム1が検査仕様2を満たすことを検査結果5に記録して、検査結果出力部14へ出力する。検査結果出力部14は、検査結果5を入力し、検査結果5を外部へ出力する。到達可能性検査部13は、検査制御部12へ検査対象プログラム1の検査完了を通知して検査を完了する。
また、検査が検査制限時間3内に完了しないと判定し検査を終了した場合、到達可能性検査部13は、検査完了不可通知により検査を終了したことを記録した検査結果5を検査結果出力部14へ出力する。検査結果出力部14は、検査結果5を入力し、検査結果5を外部へ出力する。到達可能性検査部13は、検査制御部12へ検査対象プログラム1の検査完了を通知して検査を完了する。
到達可能性検査部13は、探索深度nにおける検査が完了する毎に、探索深度nの探索に要した時間と探索深度nの組を、記憶装置20の探索時間記憶部24へ保存する。
時間算出部40の予想検査時間算出部41は、記憶装置20の探索時間記憶部24に保存されている、探索深度n=0から探索深度nまでの各探索深度n毎の探索時間と、最短探索深度記憶部23に保存されている最短探索深度Nと、を読み込み、図11の式6に基づいて、探索深度n+1から最短探索深度Nまでの各探索深度における予想深度別探索時間を算出する。
予想検査時間算出部41は、探索深度n+1から最短探索深度Nまでの各探索深度における予想深度別探索時間の総和をとることで、仕様到達予想時間を算出する。
予想検査時間算出部41は、探索深度0から探索深度nまでの探索深度毎の探索時間を合計して、検査開始からの経過時間を算出する。予想検査時間算出部41は、検査制限時間3から、検査開始からの経過時間を減算した残検査制限時間を算出する。予想検査時間算出部41は、残検査制限時間から仕様到達予想時間を減算して、仕様到達予想時間が残検査制限時間を超過していないかを判定する。判定の結果、仕様到達予想時間が残検査制限時間を超過している場合、予想検査時間算出部41は、検査が検査制限時間3内に完了しないと判定し、ステップB07へ進む。仕様到達予測時間が残検査制限時間を超えていない場合、検査は続行されるため、ステップA07へ進む。
探索深度nにおいて到達状態集合Iが含まれていない場合、到達可能性検査部13は、探索深度n=n+1として、検査を続行するためにステップA04へ戻る。
予想検査時間算出部41は、検査が検査制限時間3内に完了しないと判定し、検査処理部10の検査制御部12へ、検査完了不可通知を出力する。検査制御部12は、予想検査時間算出部41が出力する検査完了不可通知を入力し、到達可能性検査部13へ検査終了を命令する。到達可能性検査部13は、検査制御部12から検査終了の命令を入力し、当該検査を終了する。予想検査時間算出部41は、検査結果5を出力するために、ステップA06へ進む。
また、到達可能性検査部13が探索深度nの検査が完了する毎に、探索深度nの探索時間を探索時間記憶部24へ保存し、予想検査時間算出部41は、探索時間記憶部24に保存された探索深度nの探索時間と探索深度n−1の探索時間との差分に基づいて、仕様到達予想時間を算出するため、本来、検査制限時間3内で検査が完了する検査を、検査制限時間3内に検査が完了しないと誤って判定することを防ぐことができる。
2 検査仕様
3 検査制限時間
5 検査結果
10 検査処理部
11 記号モデル作成部
12 検査制御部
13 到達可能性検査部
14 検査結果出力部
20 記憶装置
21 状態遷移モデル記憶部
22 記号モデル記憶部
23 最短探索深度記憶部
24 探索時間記憶部
30 深度算出部
31 状態遷移モデル作成部
32 最短探索深度算出部
40 時間算出部
41 予想検査時間算出部
100 処理部
200 記憶部
300 入力部
400 出力部
500 通信部
Claims (11)
- 検査の対象であるプログラムの実行文の実行回数をそれぞれ表す複数の探索深度のうち、前記プログラムの初期状態から前記プログラムの検査仕様を満たすことを示す仕様充足状態へ状態を遷移するために要する最短探索深度を状態遷移モデルを用いて算出する最短探索深度算出部と、
前記プログラムの検査にあたって、前記複数の探索深度の各々について前記初期状態から前記仕様充足状態へ状態を遷移することが可能であるかの検査をプロパティ検証により実行し、前記複数の探索深度の各々についての前記検査に要した時間である深度別検査時間を測定する到達可能性検査部と、
前記到達可能性検査部が前記複数の探索深度の各々についての前記検査を完了する毎に、前記最短探索深度算出部が算出した前記最短探索深度と前記到達可能性検査部が測定した前記深度別検査時間とを用いて、前記最短探索深度まで前記検査を完了するために要する予想時間を仕様到達予想時間として算出する予想検査時間算出部と
を備え、
前記状態遷移モデルは、
前記プログラムがとりうる複数の状態を備え、前記初期状態から前記仕様充足状態までの経路上に前記複数の状態があるというコントロールフローグラフで表わされた状態遷移モデルであって、前記複数の状態に加え、前記初期状態から前記仕様充足状態までの遷移の途中で前記経路を分岐させる分岐条件を備え、
前記初期状態から前記仕様充足状態までの間には、前記分岐条件があるために複数の経路が存在し、
前記最短探索深度算出部は、
前記状態遷移モデルを前記分岐条件を無視した有向グラフとして扱うことにより、前記複数の経路の中から前記プログラムの前記初期状態から前記仕様充足状態までの最短経路を前記プログラムの前記実行回数が最小となる前記最短探索深度として求め、
前記予想検査時間算出部は、
前記到達可能性検査部が前記複数の探索深度のうち探索深度nについての前記検査を完了したときに、次の探索深度n+1から前記最短探索深度までの前記検査に要する予想時間を前記仕様到達予想時間として算出し、
前記仕様到達予想時間の算出にあたって、前記到達可能性検査部が前記探索深度nについての前記検査を完了したときに、当該検査から前記探索深度n+1についての前記検査が完了するまでに要する予想深度別検査時間を、前記探索深度nについての前記深度別検査時間と前記探索深度nよりも前の探索深度n−1についての前記深度別検査時間との差分から算出し、
前記探索深度n+1から前記最短探索深度までの各々についての前記予想深度別検査時間を合計することにより前記仕様到達予想時間を算出し、
前記到達可能性検査部は、
前記探索深度nについての前記検査を完了したときに、前記仕様到達予想時間が前記プログラムの前記検査に対する検査制限時間のうち残りの時間である残検査制限時間を超過する場合には、前記プログラムの前記検査を途中で終了する
検査時間制御装置。 - 請求項1に記載の検査時間制御装置であって、
前記予想検査時間算出部は、
これから前記検査が行われるべき探索深度xについての前記予想深度別検査時間をg(x)、前記探索深度nについての前記深度別検査時間をf(n)、前記探索深度n−1についての前記深度別検査時間をf(n−1)と表すとき、
g(x)={f(n)−f(n−1)}×(x−n)+f(n)
で表される式を用いて、前記探索深度xについての前記予想深度別検査時間g(x)を算出する
検査時間制御装置。 - 請求項1または請求項2に記載の検査時間制御装置であって、
前記予想検査時間算出部は、
前記到達可能性検査部が前記探索深度nについての前記検査を完了したときに、最初の探索深度0から前記探索深度nまでの各々についての前記深度別検査時間を合計した時間を、前記検査制限時間から減算することによって前記残検査制限時間を算出する
検査時間制御装置。 - 請求項1から請求項3までのいずれかに記載の検査時間制御装置であって、
前記プログラムと前記検査仕様から前記状態遷移モデルを作成する状態遷移モデル作成部をさらに備える
検査時間制御装置。 - 請求項1から請求項4のいずれかに記載の検査時間制御装置であって、
前記状態遷移モデルを保存している記憶装置をさらに備え、
前記最短探索深度算出部は、
前記最短探索深度を前記記憶装置から読み出した前記状態遷移モデルを用いて算出し、算出した前記最短探索深度を前記記憶装置に保存し、
前記到達可能性検査部は、
前記探索深度n−1についての前記検査を完了したときに測定した前記探索深度n−1についての前記深度別検査時間と、前記探索深度nについての前記検査を完了したときに測定した前記探索深度nについての前記深度別検査時間とを前記記憶装置に保存し、
前記予想検査時間算出部は、
前記最短探索深度算出部によって前記記憶装置に保存された前記最短探索深度と、前記到達可能性検査部によって前記記憶装置にそれぞれ保存された前記探索深度nについての前記深度別検査時間および前記探索深度n−1についての前記深度別検査時間とを用いて前記仕様到達予想時間を算出する
検査時間制御装置。 - 検査時間制御装置によって実行される検査時間制御方法であって、
前記検査時間制御装置は、
最短探索深度算出部と、
到達可能性検査部と、
予想検査時間算出部と
を備え、
当該検査時間制御方法は、
検査の対象であるプログラムの実行文の実行回数をそれぞれ表す複数の探索深度のうち、前記プログラムの初期状態から前記プログラムの検査仕様を満たすことを示す仕様充足状態へ状態を遷移するために要する最短探索深度を前記最短探索深度算出部が状態遷移モデルを用いて算出する最短探索深度算出ステップと、
前記プログラムの検査にあたって、前記複数の探索深度の各々について前記初期状態から前記仕様充足状態へ状態を遷移することが可能であるかの検査を前記到達可能性検査部がプロパティ検証により実行する検査実行ステップと、
前記複数の探索深度の各々についての前記検査に要した時間である深度別検査時間を前記到達可能性検査部が測定する深度別検査時間測定ステップと、
前記検査実行ステップで前記到達可能性検査部が前記複数の探索深度の各々についての前記検査を完了する毎に、前記最短探索深度算出ステップで前記最短探索深度算出部が算出した前記最短探索深度と前記深度別検査時間測定ステップで前記到達可能性検査部が測定した前記深度別検査時間とを用いて、前記最短探索深度まで前記検査を完了するために要する予想時間を仕様到達予想時間として前記予想検査時間算出部が算出する予想検査時間算出ステップと
前記検査実行ステップで前記仕様到達予想時間が前記プログラムの前記検査に対する検査制限時間のうち残りの時間である残検査制限時間を超過する場合には、前記到達可能性検査部が前記プログラムの前記検査を途中で終了する検査終了ステップと
を備え、
前記状態遷移モデルは、
前記プログラムがとりうる複数の状態を備え、前記初期状態から前記仕様充足状態までの経路上に前記複数の状態があるというコントロールフローグラフで表わされた状態遷移モデルであって、前記複数の状態に加え、前記初期状態から前記仕様充足状態までの遷移の途中で前記経路を分岐させる分岐条件を備え、
前記初期状態から前記仕様充足状態までの間には、前記分岐条件があるために複数の経路が存在し、
前記最短探索深度算出ステップで前記最短探索深度算出部は、
前記状態遷移モデルを前記分岐条件を無視した有向グラフとして扱うことにより、前記複数の経路の中から前記プログラムの前記初期状態から前記仕様充足状態までの最短経路を前記プログラムの前記実行回数が最小となる前記最短探索深度として求め、
前記予想検査時間算出ステップで前記予想検査時間算出部は、
前記検査実行ステップで前記到達可能性検査部が前記複数の探索深度のうち探索深度nについての前記検査を完了したときに、次の探索深度n+1から前記最短探索深度までの前記検査に要する予想時間を前記仕様到達予想時間として算出し、
前記仕様到達予想時間の算出にあたって、前記検査実行ステップで前記到達可能性検査部が前記探索深度nについての前記検査を完了したときに、当該検査から前記探索深度n+1についての前記検査が完了するまでに要する予想深度別検査時間を、前記探索深度nについての前記深度別検査時間と前記探索深度nよりも前の探索深度n−1についての前記深度別検査時間との差分から算出し、
前記探索深度n+1から前記最短探索深度までの各々についての前記予想深度別検査時間を合計することにより前記仕様到達予想時間を算出し、
前記検査終了ステップで前記到達可能性検査部は、
前記探索深度nについての前記検査を完了したときに、前記仕様到達予想時間が前記残検査制限時間を超過する場合には、前記プログラムの前記検査を途中で終了する
検査時間制御方法。 - 請求項6に記載の検査時間制御方法であって、
前記予想検査時間算出ステップで前記予想検査時間算出部は、
これから前記検査が行われるべき探索深度xについての前記予想深度別検査時間をg(x)、前記探索深度nについての前記深度別検査時間をf(n)、前記探索深度n−1についての前記深度別検査時間をf(n−1)と表すとき、
g(x)={f(n)−f(n−1)}×(x−n)+f(n)
で表される式を用いて、前記探索深度xについての前記予想深度別検査時間g(x)を算出する
検査時間制御方法。 - 請求項6または請求項7に記載の検査時間制御方法であって、
前記検査終了ステップで前記予想検査時間算出部は、
前記検査実行ステップで前記到達可能性検査部が前記探索深度nについての前記検査を完了したときに、最初の探索深度0から前記探索深度nまでの各々についての前記深度別検査時間を合計した時間を、前記検査制限時間から減算することによって前記残検査制限時間を算出する
検査時間制御方法。 - 請求項6から請求項8までのいずれかに記載の検査時間制御方法であって、
前記検査時間制御装置は、
状態遷移モデル作成部を更に備え、
前記最短探索深度算出ステップで前記状態遷移モデル作成部は、
前記プログラムと前記検査仕様から前記状態遷移モデルを作成する
検査時間制御方法。 - 請求項6から請求項9のいずれかに記載の検査時間制御方法であって、
前記検査時間制御装置は、
前記状態遷移モデルを保存している記憶装置をさらに備え、
前記最短探索深度算出ステップで前記最短探索深度算出部は、
前記最短探索深度を前記記憶装置から読み出した前記状態遷移モデルを用いて算出し、
算出した前記最短探索深度を前記記憶装置に保存し、
前記深度別検査時間測定ステップで前記到達可能性検査部は、
前記探索深度n−1についての検査を完了したときに測定した前記探索深度n−1についての前記深度別検査時間を前記記憶装置に保存し、
前記探索深度nについての検査を完了したときに測定した前記探索深度nについての前記深度別検査時間を前記記憶装置に保存し、
前記予想検査時間算出ステップで前記予想検査時間算出部は、
前記最短探索深度算出ステップで前記記憶装置に保存された前記最短探索深度と、前記深度別検査時間測定ステップで前記記憶装置にそれぞれ保存された前記探索深度nについての前記深度別検査時間および前記探索深度n−1についての前記深度別検査時間とを用いて前記仕様到達予想時間を算出する
検査時間制御方法。 - 処理部を備えるコンピュータに実行させるコンピュータプログラムであって、
前記処理部は、
最短探索深度算出部と、
到達可能性検査部と、
予想検査時間算出部と
を備え、
当該コンピュータプログラムは、
検査の対象であるプログラムの実行文の実行回数をそれぞれ表す複数の探索深度のうち、前記プログラムの初期状態から前記プログラムの検査仕様を満たすことを示す仕様充足状態へ状態を遷移するために要する最短探索深度を前記最短探索深度算出部に状態遷移モデルを用いて算出させる最短探索深度算出ステップと、
前記プログラムの検査にあたって、前記複数の探索深度の各々について前記初期状態から前記仕様充足状態へ状態を遷移することが可能であるかの検査をプロパティ検証により前記到達可能性検査部に実行させる検査実行ステップと、
前記複数の探索深度の各々についての前記検査に要した時間である深度別検査時間を前記到達可能性検査部に測定させる深度別検査時間測定ステップと、
前記検査実行ステップで前記到達可能性検査部が前記複数の探索深度の各々についての前記検査を完了する毎に、前記最短探索深度算出ステップで前記最短探索深度算出部が算出した前記最短探索深度と前記深度別検査時間測定ステップで前記到達可能性検査部が測定した前記深度別検査時間とを用いて、前記最短探索深度まで前記検査を完了するために要する予想時間を仕様到達予想時間として前記予想検査時間算出部に算出させる予想検査時間算出ステップと
前記検査実行ステップで前記仕様到達予想時間が前記プログラムの前記検査に対する検査制限時間のうち残りの時間である残検査制限時間を超過する場合には、前記到達可能性検査部に前記プログラムの前記検査を途中で終了させる検査終了ステップと
を備え、
前記状態遷移モデルは、
前記プログラムがとりうる複数の状態を備え、前記初期状態から前記仕様充足状態までの経路上に前記複数の状態があるというコントロールフローグラフで表わされた状態遷移モデルであって、前記複数の状態に加え、前記初期状態から前記仕様充足状態までの遷移の途中で前記経路を分岐させる分岐条件を備え、
前記初期状態から前記仕様充足状態までの間には、前記分岐条件があるために複数の経路が存在し、
前記最短探索深度算出ステップでは前記最短探索深度算出部に、
前記状態遷移モデルを前記分岐条件を無視した有向グラフとして扱うことにより、前記複数の経路の中から前記プログラムの前記初期状態から前記仕様充足状態までの最短経路を前記プログラムの前記実行回数が最小となる前記最短探索深度として求めさせ、
前記予想検査時間算出ステップでは前記予想検査時間算出部に、
前記検査実行ステップで前記到達可能性検査部が前記複数の探索深度のうち探索深度nについての前記検査を完了したときに、次の探索深度n+1から前記最短探索深度までの前記検査に要する予想時間を前記仕様到達予想時間として算出させ、
前記仕様到達予想時間の算出にあたって、前記検査実行ステップで前記到達可能性検査部が前記探索深度nについての前記検査を完了したときに、当該検査から前記探索深度n+1についての前記検査が完了するまでに要する予想深度別検査時間を、前記探索深度nについての前記深度別検査時間と前記探索深度nよりも前の探索深度n−1についての前記深度別検査時間との差分から算出させ、
前記探索深度n+1から前記最短探索深度までの各々についての前記予想深度別検査時間を合計することにより前記仕様到達予想時間を算出させ、
前記検査終了ステップでは前記到達可能性検査部に、
前記探索深度nについての前記検査を完了したときに、前記仕様到達予想時間が前記残検査制限時間を超過する場合には、前記プログラムの前記検査を途中で終了させる
コンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007289334A JP4947427B2 (ja) | 2007-11-07 | 2007-11-07 | 検査時間制御装置、方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007289334A JP4947427B2 (ja) | 2007-11-07 | 2007-11-07 | 検査時間制御装置、方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009116643A JP2009116643A (ja) | 2009-05-28 |
JP4947427B2 true JP4947427B2 (ja) | 2012-06-06 |
Family
ID=40783724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007289334A Expired - Fee Related JP4947427B2 (ja) | 2007-11-07 | 2007-11-07 | 検査時間制御装置、方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4947427B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4952826B2 (ja) * | 2009-12-28 | 2012-06-13 | キヤノンマーケティングジャパン株式会社 | 電子メール監査装置、その制御方法及びプログラム |
JP5595304B2 (ja) * | 2011-02-24 | 2014-09-24 | 三菱電機株式会社 | プログラム試験装置、プログラム試験装置のプログラム試験方法およびプログラム試験プログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1063537A (ja) * | 1996-08-21 | 1998-03-06 | Fujitsu Ltd | プロパティ検証方法および装置 |
JP4200534B2 (ja) * | 1997-02-17 | 2008-12-24 | 新日鉄ソリューションズ株式会社 | データフロー異常検査装置 |
JP3663067B2 (ja) * | 1998-12-17 | 2005-06-22 | 富士通株式会社 | 論理装置の検証方法、検証装置及び記録媒体 |
JP4577475B2 (ja) * | 2001-07-19 | 2010-11-10 | 日本電気株式会社 | 同期式順序回路のプロパティ検証方法および装置 |
JP2004005399A (ja) * | 2002-04-05 | 2004-01-08 | Sharp Corp | ソフトウェアのテスト方法および装置 |
US7711525B2 (en) * | 2002-05-30 | 2010-05-04 | Nec Corporation | Efficient approaches for bounded model checking |
-
2007
- 2007-11-07 JP JP2007289334A patent/JP4947427B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009116643A (ja) | 2009-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6607565B2 (ja) | セーフティクリティカルソフトウェアのための統合された自動テストケース生成 | |
JP5901140B2 (ja) | システムの高い可用性のためにセンサデータを補間する方法、コンピュータプログラム、システム。 | |
US10466671B2 (en) | System and method for an optimized operation of real-time embedded solutions in industrial automation | |
US20140188405A1 (en) | Predicting a time of failure of a device | |
WO2020010710A1 (zh) | 预测模型的生成方法、装置及计算机可读存储介质 | |
JP4800299B2 (ja) | コスト情報管理システム、コスト情報管理方法およびコスト情報管理プログラム | |
US9639454B2 (en) | Computer-readable recording medium storing therein test data generating program, test data generating method, test data generating apparatus and information processing system | |
US20170212928A1 (en) | Cognitive decision making based on dynamic model composition | |
JP2011129028A (ja) | 総テスト時間を最小にするようにテストシナリオを最適化するテスト支援装置、テスト装置、テスト支援方法及びコンピュータプログラム | |
US20120174231A1 (en) | Assessing System Performance Impact of Security Attacks | |
JP6245006B2 (ja) | テストケース生成装置、方法、及びプログラム | |
JP2015049606A (ja) | 管理システム、管理対象装置、管理装置、方法及びプログラム | |
JP4947427B2 (ja) | 検査時間制御装置、方法、およびプログラム | |
US10929265B2 (en) | Optimizing automated interactions with web applications | |
Brameret et al. | Preliminary system safety analysis with limited markov chain generation | |
US20160084906A1 (en) | Debug circuit, semiconductor device, and debug method | |
Godara et al. | A review of studies on change proneness prediction in object oriented software | |
JP2009134360A (ja) | モデル検査システム、モデル検査方法およびモデル検査用プログラム | |
US10908902B2 (en) | Distance based branch prediction and detection of potential call and potential return instructions | |
TWI654511B (zh) | 用於多循環指令之時脈閘控之方法、系統及電腦程式產品 | |
US10921167B1 (en) | Methods and apparatus for validating event scenarios using reference readings from sensors associated with predefined event scenarios | |
JP6492772B2 (ja) | 情報処理装置、モデル生成プログラムおよびモデル生成方法 | |
JP2009187288A (ja) | プロジェクト変調検出方法およびプロジェクト変調検出装置 | |
JP5807732B2 (ja) | 性能予測装置、性能予測方法および性能予測プログラム | |
JP2019091199A (ja) | 計算機、ボトルネック特定方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101014 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110715 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111003 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111208 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120124 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120210 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120223 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150316 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |