図面 (/)

技術 情報処理装置の論理検証方法及びプログラム

出願人 株式会社日立情報通信エンジニアリング
発明者 刑部啓介石井伸茂児玉豊
出願日 2013年12月13日 (7年4ヶ月経過) 出願番号 2013-257573
公開日 2015年6月22日 (5年10ヶ月経過) 公開番号 2015-114923
状態 特許登録済
技術分野 CAD
主要キーワード 疑似動作 情報マトリクス 疑似モデル 競合対象 事前評価 エラーメッセージ出力 テスト済み テスト判定
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2015年6月22日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (8)

課題

情報処理装置論理検証の検証効率を高めることができる論理検証方法及びプログラムを提供する。

解決手段

論理検証の網羅性を管理するカバレッジ情報およびテスト結果異常情報を参照して論理検証未実施且つテスト結果異常登録済みでないテストデータを生成し、情報処理装置のシミュレータを用い擬似テストを実行し前記テストデータの期待値を生成する。前記テストデータは情報処理装置に対し適用し、適用結果と前記期待値とを比較し、テスト結果が正常か異常かを判定する。テスト結果の判定が異常の場合、当該テストデータのカバレッジ項目をテスト結果異常情報として蓄積し、テスト結果が正常の場合、当該テストデータのカバレッジ項目をカバレッジ情報として蓄積する。

概要

背景

従来から、情報処理装置検証対象装置)の論理検証テスト)において、論理正常性を確認する上で機能の網羅テストを実施しているが、論理規模の増加などにより、全ての機能に対する網羅テストには膨大な時間を要し、論理検証期間の長期化が問題となっている。

ネットワーク装置汎用的な論理装置などでは、特に組み合あわせが無数に存在する為、網羅テストを行う事が困難であり、乱数データを用いたランダム試験などを利用する事で、テストの網羅性を高める手法が適用されるケースも多い。しかし、乱数データを用いたランダム試験が生成するテストデータにより、検証対象装置のテスト網羅性を高める場合には、テスト件数を増やして対応する必要が有り、検証期間の短縮という点で考えると効率的とは言い難い。

この様な問題の解決手法として、テスト実施毎に検証対象装置からカバレッジ情報、又は、検証済み履歴情報を取得し、取得した情報を解析する事で乱数データを用い連続的に再生成するテストデータを調整する手法がある。

以下にテストデータの再生成に関する従来技術について説明する。特許文献1では、検証対象装置にアサーションを埋め込み、テスト実施毎に検証対象装置からアサーション情報(カバレッジ情報)を取得する。取得したカバレッジ情報に基づきテストデータを調整する事で競合動作等を自動補正し、乱数データを用いたランダム試験の検証網羅性を高めている。又、特許文献2では、論理シミュレーション実行結果が期待値と一致したテストデータを検証済み履歴情報として蓄積する。乱数データを用いたテストデータ生成処理は検証済み履歴情報を解析し、検証済みの検証パタンを回避したテストデータ再生成を行う事で重複論理シミュレーションを避け検証効率の低下を抑えるものである。

概要

情報処理装置の論理検証の検証効率を高めることができる論理検証方法及びプログラムを提供する。 論理検証の網羅性を管理するカバレッジ情報およびテスト結果異常情報を参照して論理検証未実施且つテスト結果異常登録済みでないテストデータを生成し、情報処理装置のシミュレータを用い擬似テストを実行し前記テストデータの期待値を生成する。前記テストデータは情報処理装置に対し適用し、適用結果と前記期待値とを比較し、テスト結果が正常か異常かを判定する。テスト結果の判定が異常の場合、当該テストデータのカバレッジ項目をテスト結果異常情報として蓄積し、テスト結果が正常の場合、当該テストデータのカバレッジ項目をカバレッジ情報として蓄積する。

目的

本発明は、上記問題点を解決し、情報処理装置の論理検証の検証効率を高めることができる情報処理装置の論理検証方法及びプログラムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

情報処理装置論理検証方法であって、前記情報処理装置に対して実行されるテストデータテスト結果が正常と判定された場合の情報を管理するカバレッジ情報と前記テストデータのテスト結果が異常と判定された場合の情報を管理するテスト結果異常情報とを初期化するステップと、前記カバレッジ情報および前記テスト結果異常情報を参照してテストデータを生成するステップと、前記生成テストデータがテスト済みかどうかを判断し、テスト済みであれば前記生成テストデータを妥当でないと判定し、前記生成テストデータがテスト済みでなければ前記生成テストデータを妥当であると判定するステップと、前記生成テストデータのテスト結果が異常判定済みかどうかを判断し、テスト結果異常判定済みと判断された場合は、前記生成テストデータを妥当でないと判定し、生成テストデータがテスト結果異常判定済みでないと判断された場合は、前記生成テストデータを妥当であると判定するステップと、前記両ステップで妥当であると判定された生成テストデータについて前記情報処理装置のシミュレータを用いて擬似テストを実行し、前記擬似テストによる期待値を生成するステップと、前記両ステップで妥当であると判定された生成テストデータについて前記情報処理装置に対し本テストを実行するステップと、前記情報処理装置に対して実行した前記本テストのテスト結果と前記期待値とを比較し、前記テスト結果が正常かどうかを判定するステップと、前記テスト結果の判定が異常と判定された場合は前記テスト結果異常情報を更新し、また前記テスト結果の判定が正常と判定された場合は前記カバレッジ情報を更新して終了判定を行い、前記終了判定において終了条件を満たす場合は論理検証を終了し、終了条件を満たさない場合は前記テストデータを生成するステップ以降の各ステップを繰り返すことを特徴とする、方法。

請求項2

前記生成テストデータを妥当でない又は妥当であると判定する2つの前記ステップのうち少なくとも一方において、前記生成テストデータが妥当でないと判定された場合、前記生成テストデータに係るテストパラメータ修正し、前記カバレッジ情報および前記テスト結果異常情報を参照してテストデータを生成するステップを再度実行することを特徴とする、請求項1に記載の方法。

請求項3

コンピュータに、情報処理装置に対して実行されるテストデータのテスト結果が正常と判定された場合の情報を管理するカバレッジ情報と前記テストデータのテスト結果が異常と判定された場合の情報を管理するテスト結果異常情報とを初期化する手順、前記カバレッジ情報および前記テスト結果異常情報を参照してテストデータを生成する手順、前記生成テストデータがテスト済みかどうかを判断し、テスト済みであれば前記生成テストデータを妥当でないと判定し、前記生成テストデータがテスト済みでなければ前記生成テストデータを妥当であると判定する手順、前記生成テストデータのテスト結果が異常判定済みかどうかを判断し、テスト結果異常判定済みと判断された場合は、前記生成テストデータを妥当でないと判定し、生成テストデータがテスト結果異常判定済みでないと判断された場合は、前記生成テストデータを妥当であると判定する手順、前記両手順で妥当であると判定された生成テストデータについて前記情報処理装置のシミュレータを用いて擬似テストを実行し、前記擬似テストによる期待値を生成する手順、前記両手順で妥当であると判定された生成テストデータについて前記情報処理装置に対し本テストを実行する手順、前記情報処理装置に対して実行した前記本テストのテスト結果と前記期待値とを比較し、前記テスト結果が正常かどうかを判定する手順、前記テスト結果の判定が異常と判定された場合は前記テスト結果異常情報を更新し、また前記テスト結果の判定が正常と判定された場合は前記カバレッジ情報を更新して終了判定を行い、前記終了判定において終了条件を満たす場合は論理検証を終了し、終了条件を満たさない場合は前記テストデータを生成する手順以降の各手順を繰り返す手順、を実行させるためのプログラム

技術分野

0001

本発明は、情報処理装置論理検証方法及びプログラムに関するものである。

背景技術

0002

従来から、情報処理装置(検証対象装置)の論理検証テスト)において、論理正常性を確認する上で機能の網羅テストを実施しているが、論理規模の増加などにより、全ての機能に対する網羅テストには膨大な時間を要し、論理検証期間の長期化が問題となっている。

0003

ネットワーク装置汎用的な論理装置などでは、特に組み合あわせが無数に存在する為、網羅テストを行う事が困難であり、乱数データを用いたランダム試験などを利用する事で、テストの網羅性を高める手法が適用されるケースも多い。しかし、乱数データを用いたランダム試験が生成するテストデータにより、検証対象装置のテスト網羅性を高める場合には、テスト件数を増やして対応する必要が有り、検証期間の短縮という点で考えると効率的とは言い難い。

0004

この様な問題の解決手法として、テスト実施毎に検証対象装置からカバレッジ情報、又は、検証済み履歴情報を取得し、取得した情報を解析する事で乱数データを用い連続的に再生成するテストデータを調整する手法がある。

0005

以下にテストデータの再生成に関する従来技術について説明する。特許文献1では、検証対象装置にアサーションを埋め込み、テスト実施毎に検証対象装置からアサーション情報(カバレッジ情報)を取得する。取得したカバレッジ情報に基づきテストデータを調整する事で競合動作等を自動補正し、乱数データを用いたランダム試験の検証網羅性を高めている。又、特許文献2では、論理シミュレーション実行結果が期待値と一致したテストデータを検証済み履歴情報として蓄積する。乱数データを用いたテストデータ生成処理は検証済み履歴情報を解析し、検証済みの検証パタンを回避したテストデータ再生成を行う事で重複論理シミュレーションを避け検証効率の低下を抑えるものである。

先行技術

0006

特開2010−44622号公報
特開2002−149440号公報

発明が解決しようとする課題

0007

しかしながら、特許文献1、特許文献2の手法では、検証対象装置内部に品質が高い部位と品質が低い部位が混在している場合、品質が低い部位の不具合により、品質の高い部位の網羅性向上が阻害される。ここで、品質が低い部位は、テストデータのテスト結果が異常となる可能性がある。

0008

本発明は、上記問題点を解決し、情報処理装置の論理検証の検証効率を高めることができる情報処理装置の論理検証方法及びプログラムを提供することを目的とする。

課題を解決するための手段

0009

本発明は、上記目的を達成するため以下のような情報処理装置の論理検証方法及びプログラムを提供する。
(1)情報処理装置の論理検証方法であって、
前記情報処理装置に対して実行されるテストデータのテスト結果が正常と判定された場合の情報を管理するカバレッジ情報と前記テストデータのテスト結果が異常と判定された場合の情報を管理するテスト結果異常情報とを初期化するステップと、
前記カバレッジ情報および前記テスト結果異常情報を参照してテストデータを生成するステップと、
前記生成テストデータがテスト済みかどうかを判断し、テスト済みであれば前記生成テストデータを妥当でないと判定し、前記生成テストデータがテスト済みでなければ前記生成テストデータを妥当であると判定するステップと、
前記生成テストデータのテスト結果が異常判定済みかどうかを判断し、テスト結果異常判定済みと判断された場合は、前記生成テストデータを妥当でないと判定し、生成テストデータがテスト結果異常判定済みでないと判断された場合は、前記生成テストデータを妥当であると判定するステップと、
前記両ステップで妥当であると判定された生成テストデータについて前記情報処理装置のシミュレータを用いて擬似テストを実行し、前記擬似テストによる期待値を生成するステップと、
前記両ステップで妥当であると判定された生成テストデータについて前記情報処理装置に対し本テストを実行するステップと、
前記情報処理装置に対して実行した前記本テストのテスト結果と前記期待値とを比較し、前記テスト結果が正常かどうかを判定するステップと、
前記テスト結果の判定が異常と判定された場合は前記テスト結果異常情報を更新し、また前記テスト結果の判定が正常と判定された場合は前記カバレッジ情報を更新して終了判定を行い、前記終了判定において終了条件を満たす場合は論理検証を終了し、終了条件を満たさない場合は前記テストデータを生成するステップ以降の各ステップを繰り返すことを特徴とする、方法。
(2)前記生成テストデータを妥当でない又は妥当であると判定する2つの前記ステップのうち少なくとも一方において、前記生成テストデータが妥当でないと判定された場合、前記生成テストデータに係るテストパラメータ修正し、前記カバレッジ情報および前記テスト結果異常情報を参照してテストデータを生成するステップを再度実行することを特徴とする、上記(1)に記載の方法。
(3)コンピュータに、
情報処理装置に対して実行されるテストデータのテスト結果が正常と判定された場合の情報を管理するカバレッジ情報と前記テストデータのテスト結果が異常と判定された場合の情報を管理するテスト結果異常情報とを初期化する手順、
前記カバレッジ情報および前記テスト結果異常情報を参照してテストデータを生成する手順、
前記生成テストデータがテスト済みかどうかを判断し、テスト済みであれば前記生成テストデータを妥当でないと判定し、前記生成テストデータがテスト済みでなければ前記生成テストデータを妥当であると判定する手順、
前記生成テストデータのテスト結果が異常判定済みかどうかを判断し、テスト結果異常判定済みと判断された場合は、前記生成テストデータを妥当でないと判定し、生成テストデータがテスト結果異常判定済みでないと判断された場合は、前記生成テストデータを妥当であると判定する手順、
前記両手順で妥当であると判定された生成テストデータについて前記情報処理装置のシミュレータを用いて擬似テストを実行し、前記擬似テストによる期待値を生成する手順、
前記両手順で妥当であると判定された生成テストデータについて前記情報処理装置に対し本テストを実行する手順、
前記情報処理装置に対して実行した前記本テストのテスト結果と前記期待値とを比較し、前記テスト結果が正常かどうかを判定する手順、
前記テスト結果の判定が異常と判定された場合は前記テスト結果異常情報を更新し、また前記テスト結果の判定が正常と判定された場合は前記カバレッジ情報を更新して終了判定を行い、前記終了判定において終了条件を満たす場合は論理検証を終了し、終了条件を満たさない場合は前記テストデータを生成する手順以降の各手順を繰り返す手順、を実行させるためのプログラム。

発明の効果

0010

本発明によれば、情報処理装置の論理検証の検証効率を高めることができる。すなわち、検証対象内部の品質が高い部位の網羅性向上を図る事ができ、情報処理装置全体としてのテストの網羅性の向上と網羅性を満足する為に要する時間の削減を両立する事が可能となる。

図面の簡単な説明

0011

本発明に係る情報処理装置(検証対象装置)の論理検証方法の一例を説明するための概略図である。
本発明に係る論理検証方法における検証プログラムの一例を示す図である。
本発明に係る論理検証方法における検証プログラムの一例を示すフロー図である。
妥当性チェック部211の具体例を示す図である。
図2のステップ308におけるパラメータの修正の具体例を示す図である。
図5におけるカバレッジ情報とテスト結果異常情報の一例を示す図である。
図6におけるテスト結果異常情報の例1、例2としてテスト結果が異常判定されるテストデータと現象例を示す図である。

実施例

0012

以下、本発明の実施の形態を図面を参照しながら詳細に説明する。なお、実施の形態を説明する為の図において、同一部分には原則として同一記号を付し、繰り返しとなる説明は省略する。本実施の形態における情報処理装置の検証方法では、情報処理装置(検証対象装置)として複数の中央処理装置(CPU)を含むプロセッサ入出力装置などの周辺装置記憶装置及びこれらを接続するシステムバスの例を示すが、これに限定されず、FPGAなどの論理回路も含む。

0013

本発明は、要するに、生成したテストデータ(生成テストデータ)を内蔵シミュレータにより事前評価し、生成テストデータを検証対象装置の品質に合わせ選択する事で、検証対象装置全体としてのテスト網羅性の向上に要する時間を短くし、検証対象装置の検証効率を高めると共に、テストデータのバリエーション自動生成させる事で、工数を抑える事を実現するものである。ここでテストデータとは、テストパタンを含むテスト実行用のデータをいう。またテストパタンは、網羅性テストのバリエーションを実現するためのものである。具体的には、例えば乱数データを用いたランダム試験が生成するテストデータを用いた情報処理装置の論理検証において、論理検証の網羅性を管理するカバレッジ情報およびテスト結果異常情報を参照して論理検証未実施且つテスト結果異常登録済みでないテストデータを生成し、情報処理装置のシミュレータを用い擬似テストを実行し前記テストデータの期待値を生成する。前記テストデータは情報処理装置に対し適用し、適用結果と前記期待値とを比較し、テスト結果が正常か異常かを判定する。テスト結果の判定が異常の場合、当該テストデータのカバレッジ項目をテスト結果異常情報として蓄積し、テスト結果が正常の場合、当該テストデータのカバレッジ項目をカバレッジ情報として蓄積する。

0014

図1は、本発明に係る情報処理装置(検証対象装置)の論理検証方法の一例を説明するための概略図である。本例では、試験者がデータや命令入出力処理を行う為の情報処理端末100、及び検証対象装置(論理)101を備える。

0015

検証対象装置101は、複数のCPU112−115を含むプロセッサ111、入出力装置などの周辺装置116−119、及び主記憶装置121などがシステムバス120を介して接続されている。検証対象装置101では、プロセッサ111からの命令を中心としたアクセス要求により、複数のトランザクションが検証対象装置内で発生する。本例では、検証対象装置101の論理検証を行う検証プログラム200、検証対象装置シミュレータ210、および論理検証の網羅性を管理するカバレッジ情報230とテスト結果が異常と判定されたカバレッジ項目を管理するテスト結果異常情報250はそれぞれ、主記憶装置121に配置されるが、別の記憶装置に配置することもできる。情報処理端末100は、試験者によるデータや命令の入出力処理以外に、検証プログラム200の実行(カバレッジ情報230の更新、テスト結果異常情報250の更新等を含む)を行う役目を有する。

0016

本発明の実施形態では、検証プログラム200で用いるテストデータの生成、評価及び再生成は主記憶装置121に配置した検証対象装置シミュレータ(以下単に「シミュレータ」ともいう)上で実施し、カバレッジ情報230とテスト結果異常情報250の更新は、主記憶装置121に配置した検証プログラム200上で実施する。なお、検証対象装置シミュレータは検証プログラム200に内蔵してもよいし、本例のように別途設けてもよい。すなわち、本発明は、検証対象装置でテストを実行する前に検証対象装置シミュレータを用いてテストデータの最適化を図り、テストデータの最適化を行う事で、検証効率の向上を図るものである。

0017

図2は、本発明に係る論理検証方法における検証プログラムの一例を示す図である。検証プログラム200は、図示のように、検証対象装置シミュレータ210、検証対象装置101を含む論理シミュレーション環境220、カバレッジ情報230およびテスト結果異常情報250と関連して実行される。

0018

検証プログラム200は、テストデータ生成部201と本テスト実行部240とを備える。テストデータ生成部201は、カバレッジ情報取得処理部202、テスト結果異常情報取得処理部203、テストデータ生成処理部204、および擬似テスト実行処理部205を有する。本テスト実行部240は、本テスト実行処理部241、テスト結果判定処理部242、カバレッジ情報更新処理部243、テスト結果異常情報更新処理部244、および期待値245とカバー項目246を有する。

0019

検証対象装置シミュレータ210は、妥当性チェック部211と期待値生成部215とを備える。妥当性チェック部211は、カバレッジ情報参照部212、テスト結果異常情報参照部213、および生成テストデータチェック部214を有する。期待値生成部215は、擬似テスト実行部216を有する。妥当性チェック部211は、カバレッジ情報参照部212にて、生成テストデータが既にテストを行ったものか、まだテストを行って無いものかの判断を行い、テスト結果異常情報参照部213にて、生成テストデータはテストを実施したが結果が異常となったものかの判断を行う。期待値生成部215は、妥当性チェック部211にてチェックを行った生成テストデータを本テストの論理シミュレーションを行う前に、検証対象装置シミュレータ210においてソフトウェア処理により疑似テストを実行し、生成したテスト結果の期待値245と生成したテストの実行により網羅されるカバー項目246を本テスト実行部240上に一時的に格納する。尚、期待値は、本テスト実行部240にてテスト結果の判定処理に、カバー項目246はカバレッジ情報230とテスト結果異常情報250の更新に利用される。

0020

論理シミュレーション環境220は、論理検証の対象である検証対象装置101を備える。検証対象装置101は、図1に示すように、プロセッサ111、入出力装置などの周辺装置116−119、主記憶装置121、およびシステムバス120を有する。主記憶装置121には、テスト結果227が格納される。このテスト結果227は、テスト結果判定処理部242において期待値245と比較され、判定される。

0021

以上のように、検証プログラム200において、テストデータ生成部201は、シミュレータ210及びカバレッジ情報230、テスト結果異常情報250と連動して、テストデータを生成し、生成されたテストデータ(生成テストデータ)の妥当性を確認したのち、妥当であるとされた生成テストデータを用いて検証対象装置シミュレータ210において擬似テストを実行して、テスト結果の期待値を生成する。これにより、本テスト実行部240を行う前の段階で、生成テストデータの妥当性確認や期待値生成が完了した状態となっている。

0022

そして、本テスト実行部240では、論理シミュレーション環境220と連動して検証対象装置101の論理シミュレーション(本テスト)を行う。本テスト実行部240では、既にテストデータ生成部201で妥当性チェックが行われた生成テストデータを用いて論理シミュレーションを行う為、既にカバレッジの最適化が図られた状態でシミュレーションが行われる。また、論理シミュレーションが行われた結果は、テスト結果判定処理部242により判定され、カバレッジ情報230またはテスト結果異常情報250の何れか一方を更新する。この事で、新たにテスト生成を行う際に、前回論理シミュレーション結果を次回のテスト生成に反映させる事が可能となる。

0023

図3は、本発明に係る論理検証方法における検証プログラムの一例を示すフロー図である。本図は、論理検証のための1回のテストの処理を示している。

0024

まず試験者は、ステップ300において、検証プログラムの実行をスタートするが、事前準備として情報処理端末100よりカバレッジ情報とテスト結果異常情報の初期化を行う。カバレッジ情報は、情報処理装置(検証対象装置)の論理検証の網羅性を管理するものであり、情報処理装置に対して実行されるテストデータのテスト結果が正常と判定された場合の情報を管理し、テスト結果異常情報は、テストデータのテスト結果が異常と判定された場合の情報を管理する。次にステップ301において、試験者は、検証プログラムの初期パラメータを情報処理端末100より入力し、テストパタンの初期設定(更新)を行う。その後の動作は全て検証プログラムによる自動実行となる。

0025

本例では、試験者の目的とする検証対象装置のリソースや、テストを行いたい実行時間指定に相当するテスト生成回数などを検証プログラムの初期パラメータとして指定する。検証プログラムの初期パラメータを試験者が指定出来る事により、試験者は繰り返しテストの実行状況を管理可能となる。

0026

ステップ302において、検証対象装置の論理検証の網羅性を管理するカバレッジ情報とテスト結果が異常と判定されたカバレッジ項目を管理するテスト結果異常情報を参照してテストデータを生成する。テストデータの生成は、妥当性チェック部211のカバレッジ情報参照部212におけるカバレッジ情報とテスト結果異常情報参照部213におけるテスト結果異常情報を参照して行う。

0027

ステップ301で更新されるテストパタンは、ステップ311で行うテストパラメータの更新、及びカバレッジ情報230とテスト結果異常情報250より更新処理を行うが、本処理を実施する事で、ステップ302で生成されるテストデータの生成処理時に、前回の生成処理とは異なる情報を与える事が可能となる。上記処理の組み合わせにより、網羅テストの効率化を図っている。

0028

生成テストデータは、ステップ303において、妥当性の判定が行われる。妥当性の判定は次のようにして行われる。生成テストデータは、シミュレータ210に内蔵されている妥当性チェック部211において妥当性がチェックされる。すなわち、妥当性チェック部211の生成テストデータチェック部214において、生成テストデータがテスト済みかどうかを判断し、生成テストデータがテスト済みであれば、ステップ303における妥当性の判定は妥当でない(NG)とされ、生成テストデータがテスト済みでなければ妥当(OK)とする。また、生成テストデータチェック部214は生成テストデータが既にテスト結果異常判定済みかどうかをチェックする。生成されたテストデータが既にテスト結果異常判定済みと判断された場合、ステップ303において、妥当性の判定は妥当でない(NG)とされる。一方、生成テストデータがテスト結果異常判定済みでないと判断された場合、ステップ303において、妥当性の判定は妥当(OK)とされる。このように、生成テストデータの妥当性チェック部は、生成テストデータが既にカバレージ済みのテストデータではないことと、カバレージを試みたがテスト結果が異常と判定されたテストデータではない事を判定する。

0029

ステップ303において、生成テストデータの妥当性の判定が妥当ではない(NG)とされた場合は、ステップ308において、テストパラメータの修正を行い、ステップ302において、テストデータが再生成される。本処理を繰り返す事で期待したカバレッジを満たすテストデータが生成される。

0030

一方、ステップ303において、生成テストデータの妥当性の判定が妥当(OK)とされた場合は、ステップ304において、生成テストデータを用いてシミュレータ210上でシミュレーション(擬似テスト)が実行される。この擬似テストは、期待値生成部215の擬似テスト実行部216において実行され、テスト結果の期待値が生成される。このように妥当であると判定された生成テストデータを用いて検証対象装置のシミュレータを用いて擬似テストを実行し、擬似テストによる期待値を生成する。期待値の生成は、例えば次のようにして行われる

0031

テスト結果の期待値はシミュレータ210にて、生成テストデータを疑似的に実行する事で生成する。シミュレータ210では、レジスタ/メモリ情報などを疑似モデルとして管理しており、生成テストデータを実行する事で各レジスタ/メモリの情報がどの様に変化するかを確認する為の疑似動作が可能となっており、シミュレータ210では、テスト結果の期待値としてシミュレータ210での実行結果を出力する動作を行う。

0032

ステップ304まで正常に実行出来た時点で、次の本テストの実行が可能となる。

0033

ステップ305において、妥当であると判定された生成テストデータを用いて検証対象装置に対し本テストが実行される。本テストの実行は、上述のように、図2に示す論理シミュレーション環境220と連動して検証対象装置101の論理シミュレーション(本テスト)を行う。ステップ306において、検証対象装置に対して実行した本テストのテスト結果と期待値とを比較する。
論理シミュレーションの結果の判定は、シミュレータ210の出力結果である、レジスタ、及びメモリの値や、その他の検証対象装置のリソースの値を対象として、検証対象装置での論理シミュレーションの実行結果と比較を行い、比較結果が等しければ正常、異なっていれば異常と判断し、論理シミュレーションのテスト判定結果とする。

0034

テスト結果判定が異常(NG)の場合、ステップ309において、エラーメッセージを出力し、エラー通知を行う。そして、テスト結果異常情報更新313よりテスト結果異常情報250の更新を行い、ステップ311において、カバレッジ情報230よりカバレッジ情報とテスト結果異常情報250よりテスト結果異常情報を取得し、テストパラメータを更新し、ステップ301において、テストパタンを更新(未実施且つテスト結果異常登録済みでないテストパタン選択)し、上述の各ステップが繰り返される。また、テスト結果判定が正常(OK)の場合は、カバレッジ情報更新312よりカバレッジ情報230の更新を実施し、ステップ307において終了判定を行う。

0035

終了判定においては、終了条件を満たす場合は論理検証を終了し、終了条件を満たさない場合は先の各ステップを繰り返す。すなわち、ステップ307では、終了条件(カバレッジ情報の網羅テストの終了、シミュレーション回数、及び総合のテスト時間など)の確認を行い、終了の判定(Y)の場合は、ステップ310において、検証プログラムは終了となる。一方、未終了の判定(N)の場合は、ステップ311において、カバレッジ情報230よりカバレッジ情報とテスト結果異常情報250よりテスト結果異常情報を取得し、テストパラメータを更新し、ステップ301において、テストパタンを更新(未実施且つテスト結果異常登録済みでないテストパタン選択)し、上述の各ステップが繰り返される。

0036

図4は、妥当性チェック部211の具体例を示す図である。ここで、カバレッジ情報として採取するデータは、汎用的に指定する事が可能であるが、図4では一実施例として、プロセッサリソースの組み合わせによるカバレッジ情報を元にして行う網羅テストの例を示す。また、テスト結果が異常と判定された情報についてもカバレッジ情報と同一のプロセッサリソースの組み合わせによる情報をテスト結果異常情報として採取した例を示す。図中のカバレッジ情報参照部212とテスト結果異常情報参照部213に示すように、カバレッジ情報414とテスト結果異常情報416はプロセッサ111のCPU112−115ごとに集計格納され、カバレッジ情報414とテスト結果異常情報416のフォーマットにて管理されている。また2次元マトリクス415、417は、CPU112−115各リソースの全ての組み合わせをテーブル構成で管理している。

0037

テストデータ生成部201では、各CPU112−115のカバレッジ情報414とテスト結果異常情報416より、未実施リソース且つテスト結果異常登録されていないリソース項目検索し、各CPU112−115のテストデータを生成する。生成した各CPU112−115のテストデータからマトリクス415、417の項目により該当する項目を検索し、マトリクス415、417の該当項目を更新する。

0038

生成テストデータチェック部214では、各CPU112−115のカバレッジ情報414及びカバレッジ情報マトリクス415の更新が行われているかどうかのチェックを行い、その更新が確認出来ない場合(すなわち既にテスト済のテストデータが生成された場合)、テストデータの妥当性の判定は妥当ではない(NG)とされ、テストデータ再生成の要求を発行する。カバレッジ情報414及びカバレッジ情報マトリクス415の更新が確認出来た場合(すなわち未だテスト済でないテストデータが生成された場合)、生成テストデータの妥当性の判定が妥当(OK)となる。また、CPU112−115のテスト結果異常情報416及びテスト結果異常情報マトリクス417の更新が行われているかどうかのチェックを行い、その更新が確認出来ない場合(すなわち既にテスト済みで結果が異常と判定されてたテストデータが生成された場合)、テストデータの妥当性の判定は妥当ではない(NG)とされ、テストデータ再生成の要求を発行する。テスト結果異常情報416及びテスト結果異常情報マトリクス417の更新が確認出来た場合(すなわち未だテスト結果が異常と判定されていないテストデータが生成された場合)、生成テストデータの妥当性の判定が妥当(OK)となる。カバレッジ情報414を元にした妥当判定とテスト結果異常情報416を元にした妥当性判定の両方で妥当(OK)とされた後、次の期待値生成部215へ状態を遷移する。

0039

図5は、図3のステップ308におけるテストパラメータの修正の具体例を示す図である。上述のように、妥当性チェック部211により、生成テストデータが妥当ではないと判断された場合は、テストデータの再生成を行う。本例では、検証対象装置において、CPUで各命令が使用する汎用レジスタ競合に関わる論理を対象としたテストデータの生成の例を示す。

0040

図5に示すように、テストパラメータの修正に係るステップ308は、対象カバレッジ情報テスト結果異常情報解析処理に係るステップ500と、テストパラメータ再生成処理に係るステップ501を備える。ステップ500の解析処理では、妥当性チェック部211がテストデータの妥当性を判断する際に使用した対象カバレッジ情報とテスト結果異常情報を解析し、発生頻度が低く試験結果の異常頻度も低いパタンを抽出し、続いてステップ501のテストパラメータ再生成処理において、テストパラメータの再生成を行う。テストパラメータは対象カバレッジ情報やテスト結果異常情報と同様のパラメータから構成される。これにより以降生成するテストデータは、ステップ501による再生後のテストパラメータに依存することになる。

0041

図6は、図5におけるカバレッジ情報とテスト結果異常情報の一例を示す図である。本例のカバレッジ情報は、先行側命令情報と競合側命令情報の2次元テーブルで構成される。本テーブルにおいて、各々の位置関係サイクル数)、命令種、競合対象であるレジスタ番号の各要素を満足するテストデータを生成した場合、テスト生成回数が更新される。また、本例のテスト結果異常情報は、カバレッジ情報と同一の構成で管理され、テスト結果が異常となった場合には異常回数が更新される。図7は、図6におけるテスト結果異常情報の例1、例2としてテスト結果が異常判定されるテストデータと現象例を示す図である。これは、検証対象装置の不具合とテストデータの例を示すものである。図7において、整数演算命令演算結果が異常の例(例1)は、先行側命令の演算結果が競合側命令に正しく反映されない場合を示し、分岐命令分岐先が異常の例(例2)は、先行側の分岐命令が競合側命令の演算結果を誤って反映してしまう場合を示す。

0042

命令に関してはプロセッサのアーキテクチャに依存する部分であり、パイプライン動作等を考慮して、カバレッジ採取を行う必要が有る。また、周辺機器に関してもトランザクションのレイテンシ等を考慮し、カバレッジ項目を満足する様な動作を実現する必要が有る。図5に示す動作は一例であるが、本発明の実装にあたっては検証対象装置固有の動作を考慮して、カバレッジ情報とテスト結果異常情報を採取しテストデータ生成に反映する必要が有る。

0043

以上の各ステップは、コンピュータに次のプログラムを実行させることで実施することもできる。すなわち、このプログラムは、コンピュータに、情報処理装置に対して実行されるテストデータのテスト結果が正常と判定された場合の情報を管理するカバレッジ情報と前記テストデータのテスト結果が異常と判定された場合の情報を管理するテスト結果異常情報とを初期化する手順、前記カバレッジ情報および前記テスト結果異常情報を参照してテストデータを生成する手順、前記生成テストデータがテスト済みかどうかを判断し、テスト済みであれば前記生成テストデータを妥当でないと判定し、前記生成テストデータがテスト済みでなければ前記生成テストデータを妥当であると判定する手順、前記生成テストデータのテスト結果が異常判定済みかどうかを判断し、テスト結果異常判定済みと判断された場合は、前記生成テストデータを妥当でないと判定し、生成テストデータがテスト結果異常判定済みでないと判断された場合は、前記生成テストデータを妥当であると判定する手順、前記両手順で妥当であると判定された生成テストデータについて前記情報処理装置のシミュレータを用いて擬似テストを実行し、前記擬似テストによる期待値を生成する手順、前記両手順で妥当であると判定された生成テストデータについて前記情報処理装置に対し本テストを実行する手順、前記情報処理装置に対して実行した前記本テストのテスト結果と前記期待値とを比較し、前記テスト結果が正常かどうかを判定する手順、前記テスト結果の判定が異常と判定された場合は前記テスト結果異常情報を更新し、また前記テスト結果の判定が正常と判定された場合は前記カバレッジ情報を更新して終了判定を行い、前記終了判定において終了条件を満たす場合は論理検証を終了し、終了条件を満たさない場合は前記テストデータを生成する手順以降の各手順を繰り返す手順、を実行させることで行うことができる。また、このプログラムは、CDROM等の記憶媒体に格納して又は通信手段によって提供することも可能である。

0044

本発明は、情報処理装置の論理検証方法及びプログラムに関するものであり、産業上の利用可能性がある。

0045

100 ・・・情報処理端末
101 ・・・検証対象装置
102 ・・・検証プログラム
111 ・・・プロセッサ
120 ・・・システムバス
121 ・・・主記憶装置
201 ・・・テストデータ生成部
202 ・・・カバレッジ情報取得処理部
203 ・・・テスト結果異常情報取得処理部
204 ・・・テストデータ生成処理部
205 ・・・擬似テスト実行処理部
211 ・・・妥当性チェック部
212 ・・・カバレッジ情報参照部
213 ・・・テスト結果異常情報参照部
214 ・・・生成テストデータチェック部
215 ・・・期待値生成部
216 ・・・擬似テスト実行部
220 ・・・論理シミュレーション環境
230 ・・・カバレッジ情報
240 ・・・本テスト実行部
241 ・・・本テスト実行処理部
242 ・・・テスト結果判定処理部
243 ・・・カバレッジ情報更新処理部
244 ・・・テスト結果異常情報更新処理部
245 ・・・期待値
246 ・・・カバー項目
250 ・・・テスト結果異常情報
301 ・・・テストパタン更新
302 ・・・テストデータ生成
303 ・・・妥当性判定
304 ・・・擬似テスト実行
305 ・・・本テスト実行
306 ・・・テスト結果判定
307 ・・・終了判定
308 ・・・テストパラメータの修正
309 ・・・エラーメッセージ出力
312 ・・・カバレッジ情報更新
313 ・・・テスト結果異常情報更新
414 ・・・カバレッジ情報
415 ・・・カバレッジ情報マトリクス
416 ・・・テスト結果異常情報
417 ・・・テスト結果異常情報マトリクス

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ