JP2009211503A - ソースコード検証装置、及びソースコード検証方法 - Google Patents

ソースコード検証装置、及びソースコード検証方法 Download PDF

Info

Publication number
JP2009211503A
JP2009211503A JP2008054863A JP2008054863A JP2009211503A JP 2009211503 A JP2009211503 A JP 2009211503A JP 2008054863 A JP2008054863 A JP 2008054863A JP 2008054863 A JP2008054863 A JP 2008054863A JP 2009211503 A JP2009211503 A JP 2009211503A
Authority
JP
Japan
Prior art keywords
source code
verification
state transition
model
transition model
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
JP2008054863A
Other languages
English (en)
Inventor
Takeshi Koizumi
健 小泉
Mitsuyoshi Ozaki
光義 小崎
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2008054863A priority Critical patent/JP2009211503A/ja
Publication of JP2009211503A publication Critical patent/JP2009211503A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】ソースコードの検証に対してモデル検査を行う際に問題となる状態爆発を抑制する。
【解決手段】ソースコード検証システム200は、検証対象ソースコード100をKripke構造モデル300に変換し、Kripke構造モデル300に対してモデル検査を行うことにより、検証対象ソースコード100を検証する。Kripke構造モデル300は、検証対象ソースコード100について定義された契約情報に記述された条件を満足しない状態を排除するようにKripke構造モデル300を生成する。
【選択図】図1

Description

本発明は、ソースコード検証装置、及びソースコード検証方法に関し、特に、モデル検査技術(model checking)を用いてソースコードを検証するための技術に関する。
近年、ソフトウェアの品質を向上させるための一つの手法としてモデル検査技術が注目され、組込みソフトウェアなどの分野の検証として利用されるケースが増えてきている。モデル検査技術とは、ソフトウェアやハードウェアなどの何らかのシステムの状態遷移モデルをコンピュータに入力することで、その振る舞いにおかしな点がないかどうかをしらみつぶしにチェックする技術である。このモデル検査技術は、モデルとプロパティを与えてしまえば後はコンピュータが機械的にバグを検索し、不具合を発見してくれるということで非常に便利な技術である。
例えば、特開平10−63537号公報は、Kripke構造の論理装置モデルを用いて論理装置が仕様を満足するか否かを検査するための記号モデル検査手法を開示している。特開2006−323694号公報は、ユースケース図を用いて記述されたソフトウェアの仕様書の正当性を自動的に検証するための仕様書確認装置を開示している。特開2005−316710号公報は、ソースコードを解析して状態遷移情報を抽出し、抽出した状態遷移情報を設計情報に基づく状態遷移情報と比較してソースコードの試験をするソフトウェア試験支援装置を開示している。また、特開2006−91944号公報は、実行仮想環境アプリケーションサーバを用いてソフトウェアコンポーネントのそれぞれを他のソフトウェアコンポーネントのバグに影響されることなく正確にテストするための技術を開示している。
モデル検査技術をソースコードの検証に適用する場合の一つの問題は、入力されるモデルが大きすぎると「状態爆発」と呼ばれる現象がおき、現在のコンピュータで現実的な時間内に検索を終えられなくなってしまうことである。ソースコードのモデル検査ではモデル化の際に、変数の値の組を“状態”として表現し、その遷移をモデル化する状態遷移グラフを作成する。そのため、ソースコードが大規模になると変数が多くなり、その値の組合せ(即ち、状態)が莫大になる。例えば、変数i(i=1〜m:mは変数の数)の取り得る値の数がNであるとすると、可能な状態の数Nallは、下記式:
all=N×N×・・・×N
で表される。その結果、状態遷移を辿る処理は指数関数的に時間が掛かるようになり、「状態爆発」という現象が起きてしまう。
このような問題は、ソフトウェアの検証技術でのモデル検査の適用を妨げる1つの要因となっている。そのため、実際のソフトウェアの検証にモデル検査を適用する際には、検索をある深さで打ち切ったり、本来チェックしたいモデルを抽象化したりして現実的に検査できるモデルに落とし込むことが行われている。しかしながら、このような手法は、検証の信頼性の観点からは好ましくない。
特開平10−63537号公報 特開2006−323694号公報 特開2005−316710号公報 特開2006−91944号公報
したがって、本発明の目的は、ソースコードの検証に対してモデル検査を行う際に問題となる状態爆発を抑制することにある。
本発明の一つの特徴は、ソースコードのモデル化の際に契約駆動開発(Contract First Development, Design by Contract)で使用される契約情報(契約の表明(notion of contract)とも呼ばれる)を参照することにある。より具体的には、本発明のソースコード検証装置は、ソースコードを状態遷移モデルに変換する状態遷移モデル変換手段と、前記状態遷移モデルに対してモデル検査を行うことにより、前記ソースコードを検証する検証手段とを具備する。前記状態遷移モデル変換手段は、前記ソースコードについて定義された契約情報に記述された条件を満足しない状態を排除するように前記状態遷移モデルを生成する。
契約駆動開発によるソフトウェアの開発では、契約情報を用いて操作についての責任の所在を明確にし、関数の不必要な入力チェックなどを省略する開発スタイルが浸透してきている。しかしながら、従来は、契約情報がソースコードのモデル検査において有効に活用されることはなかった。本発明は、ソースコードの状態遷移モデルから、契約情報に記述されている条件を排除することで状態爆発を抑制する。
本発明によれば、ソースコードの検証に対してモデル検査を行う際に問題となる状態爆発を抑制することができる。
次に、本発明の一実施形態のソースコード検証装置について図面を参照して詳細に説明する。図1を参照して、本実施形態のソースコード検証システム200は、検証対象ソースコード100を検証するソフトウェアプログラムである。ソースコード検証システム200は、検証対象ソースコード100を、Kripke構造モデル300にモデル化し、そのKripke構造モデル300に対してモデル検査(model checking)を行う。ここで、Kripke構造モデルとは、システムの状態及びその遷移を記述する非決定性有限オートマトンの一種であり、モデル検査において広く使用される状態遷移モデルの一つである。ソースコード検証システム200は、Kripke構造モデル300に対して行ったモデル検査の結果を検証結果400として出力する。検証者は、この検証結果400から検証対象ソースコード100の正当性を判断することができる。
図2は、ソースコード検証システム200を実行するためのハードウェア資源の一例を示している。一実施形態では、ソースコード検証システム200は、ソースコード検証装置10にインストールされて実行される。ソースコード検証装置10は、CPU11と、RAM12と、入力装置13と、出力装置14と、外部記憶装置15とを備えたコンピュータとして構成されており、ソースコード検証システム200は、外部記憶装置15にインストールされる。入力装置13は、検証対象ソースコード100をソースコード検証装置10に入力するために使用され、外部記憶装置15は、検証対象ソースコード100、Kripke構造モデル300、及び検証結果400を保存するために使用される。出力装置14は、検証結果400を出力するために使用される。
図1を再度に参照して、本実施形態のソースコード検証システム200は、契約駆動開発に従って作成されたソースコードをその検証対象としている。契約駆動開発とは、システムのコンポーネント同士が、互いに厳密な契約を介して協調するように設計するソフトウェア構築手法であり、呼び出す側が守る条件として「事前条件」を設定し、呼ばれる側が守るべき条件を「事後条件」、システムとしていつでも満たさせる条件を「不変条件」として契約を定義し、コンポーネントがこの契約を守るように協調させる手法である。契約の内容の記述は、「表明」と呼ばれる。「表明」は、論理式で記述される。本明細書にいう「契約情報」とは、「契約の表明」と同義である。
本実施形態のソースコード検証システム200の一つの特徴は、検証対象ソースコード100をKripke構造モデル300にモデル化する際に、コンポーネントのインターフェースに付与された契約の内容を示す契約情報を利用することある。これにより、本実施形態のソースコード検証システム200は、Kripke構造モデル300の大きさを小さくし、モデル検査を行う際に問題となる状態爆発を抑えることができる。
具体的には、本実施形態では、各コンポーネントに対して定義された事前条件、事後条件、不変条件といった契約情報が記載されている検証対象ソースコード100が、ソースコード検証システム200への入力として与えられる。詳細には、検証対象ソースコード100は、検証対象コンポーネント110と、検証対象外コンポーネント120と、不変条件130から構成される。検証対象コンポーネント110は、事前条件111と事後条件112とソースコード113から構成されている。検証対象外コンポーネント120は、事前条件121と事後条件122とソースコード123から構成されている。検証対象コンポーネント110、検証対象外コンポーネント120の事前条件111、121、事後条件112、122、及び不変条件130は、検証対象ソースコード100に埋め込まれていても、検証対象ソースコード100の外部に定義されていてもかまわない。
ソースコード検証システム200は、検証対象ソースコード100に記述された契約情報を元に、検証対象ソースコード100をKripke構造モデル300に変換する。Kripke構造モデル300は、状態遷移グラフ310と「検証したい性質」(properties to be verified)320から構成される。状態遷移グラフ310は、検証対象ソースコード100の構造を、変数の値の組からなる状態、及び状態から状態への遷移として記述するグラフである。ソースコード検証システム200は、検証対象コンポーネント110をKripke構造モデル300へモデル化する際に、契約情報を利用することで、実際に取りえない状態をKripke構造モデル300から排除する。即ち、ソースコード検証システム200は、検証対象ソースコード100に記述されている事前条件、事後条件、及び不変条件を満足するような状態のみを選択的に記述したKripke構造モデル300を生成し、これにより、状態爆発を抑制する。
図3は、本実施形態におけるソースコード検証の手順を示すフローチャートである。まず、検証者により検証対象ソースコード100が作成され、ソースコード検証装置10の外部記憶装置15に格納される(ステップA1)。この検証対象ソースコード100の作成は、契約駆動開発によって行われる。検証対象ソースコード100の作成の際には、検証対象コンポーネント110の事前条件111、事後条件112、検証対象外コンポーネント120の事前条件121、事後条件122、及び不変条件130が作成され、検証対象ソースコード100に記述される。検証対象ソースコード100の作成が完了したら、検証者は、ソースコード検証装置10の入力装置13を操作して、ソースコード検証システム200へ検証指示を出す(ステップA2)。
ソースコード検証システム200は、検証指示に応答して、検証対象ソースコード100をKripke構造モデル300へ変換する(ステップB1)。この際、ソースコード検証システム200は、検証対象ソースコード100に埋め込まれている契約情報(契約の表明)を、Kripke構造モデル300の状態遷移グラフ310を作成するときの前提条件として利用することで、状態遷移グラフ310の大きさを小さくすることができる。
具体的には、状態遷移グラフ310へのモデル化の際に、検証対象コンポーネント110の入力(即ち、検証対象コンポーネント110の事前条件111と検証対象外コンポーネント120の事後条件122)、および不変条件130が成立することが前提にされる。即ち、ソースコード検証システム200は、状態遷移グラフ310の生成の際、実際に取りえない状態(即ち、事前条件111、事後条件122、不変条件130を成立させないような状態)を排除する。これにより、検証対象ソースコード100の状態遷移グラフ310の大きさを最低限にすることができ、状態爆発を抑えることができる。
例えば、一般的な検証方法では、ソースコードにおいて値域が明示されていない場合、32ビット整数変数は、−231以上、231−1以下の232乗通り(約42億通り)の値を取り得るものとして状態遷移モデルを作成する必要があり、状態遷移モデルに記述される状態数が莫大になる。一方、本実施形態のソースコード検証システム200では、例えば、ある変数の値が設計上−4以上3以下の8通りと判っている場合、これを事前条件や不変条件として検証対象ソースコード100に与えることにより、状態数を大幅に削減することができる。したがって、状態爆発を抑えることができる。
また、実際に取りえない状態を状態遷移グラフ310から排除することは、ソースコード検証システム200の誤検出を削減するという利点もある。例えば、ある変数の値が−10000である場合に起きる不具合が検出されたとしても、設計上、当該変数の値が−4以上3以下に制約されていれば、この不具合は起こりえない。したがって、このような不具合が検出されることは、本来、誤りである。本実施形態のソースコード検証システム200では、事前条件や不変条件によって、変数の値域(−4以上3以下)を与えることで、変数の値が−10000で起きる不具合は検出されなくなるので、ソースコード検証システム200の誤検出を減らすことができる。
ステップB1では、同時に、契約情報(契約の表明)がKripke構造モデル300の検証したい性質320に変換される。具体的には、検証したい性質320を抽出する際に、検証対象コンポーネント110の出力が遵守すべき条件、即ち、検証対象コンポーネント110の事後条件112と、検証対象外コンポーネント120の事前条件121、および検証対象ソースコード100の不変条件130が検証したい性質320として抽出される。後述のKripke構造モデル300の検証では、ステップB2で抽出された検証したい性質320が、常に守られることを検証すればよいことになる。作成されたKripke構造モデル300は、ソースコード検証装置10の外部記憶装置15に格納される。
Kripke構造モデル300の作成が完了したら、Kripke構造モデル300の検証が行われる(ステップB2)。詳細には、Kripke構造モデル300に対してモデル検査が行われ、状態遷移グラフ310が検証したい性質320を満たすかどうかが確認される。モデル検査の結果は、検証結果400として外部記憶装置15に格納されると共に、出力装置14によって外部に出力される。
ステップB2におけるモデル検査では、契約情報の矛盾を検出するようにしてもよい。モデル検査では網羅的な検索が行われるので、契約駆動開発で定義した契約情報(即ち、コンポーネント間の事前条件、事後条件、不変条件)に矛盾があれば、Kripke構造モデルのモデル検査の際にその矛盾を指摘し、契約情報の誤りを検出することができる。これにより、コンポーネント間のインターフェースの整合性が検証され、バグの誤検出を削減することができる。
最後にソースコード検証システム200は、検証完了報告を行い(ステップB3)、検証者は検証結果400を確認する(ステップA3)。
以上に説明されているように、本実施形態のソースコード検証システム200は、検証対象ソースコード100のKripke構造モデル300へのモデル化の際の状態爆発を抑えることができる。本実施形態のソースコード検証システム200は、モデル化の際の入力データとして、ソースコードだけではなく、契約駆動開発において作成される契約情報(契約の表明)を利用する。本実施形態では、検証対象コンポーネントの入力(検証対象コンポーネント110の事前条件111及び検証対象外コンポーネント120の事後条件)および不変条件130が必ず成立するような状態のみをKripke構造モデル300に記述することで、検証対象ソースコード100に起こりえない状態がKripke構造モデル300から排除される。したがって、本実施形態のソースコード検証システム200は、状態爆発を抑えることができる。
本実施形態では、ソースコードの内容を変更することなく状態爆発を抑えることができることに留意されたい。本実施形態のソースコード検証システム200では、ソースコードの内容を変更して、本来チェックしたいモデルを抽象化したり、現実的に検査できるモデルに落とし込んだりする必要はない。
加えて、本実施形態のソースコード検証システム200は、バグの誤検出を減らすことができる。上述のように、本実施形態のソースコード検証システム200は、検証対象ソースコード100に起こりえない状態をKripke構造モデル300から排除し、起こりえない状態に対しては検証を省略する。したがって、起こりえない状態に対して発生するバグが誤って検出されることはない。
図1は、本発明の一実施形態のソースコード検証システムの機能を示す概念図である。 図2は、ソースコード検証システムを実行するためのハードウェア資源の一例を示している。 図3は、一実施形態における、検証対象ソースコードを検証する手順を示すフローチャートである。
符号の説明
100:検証対象ソースコード
110:検証対象コンポーネント
111:事前条件
112:事後条件
113:ソースコード
120:検証対象外コンポーネント
121:事前条件
122:事後条件
123:ソースコード
130:不変条件
200:ソースコード検証システム
300:Kripke構造モデル
400:検証結果
10:ソースコード検証装置
11:CPU
12:RAM
13:入力装置
14:出力装置
15:外部記憶装置

Claims (6)

  1. ソースコードを状態遷移モデルに変換する状態遷移モデル変換手段と、
    前記状態遷移モデルに対してモデル検査を行うことにより、前記ソースコードを検証する検証手段
    とを具備し、
    前記状態遷移モデル変換手段は、前記ソースコードについて定義された契約情報に記述された条件を満足しない状態を排除するように前記状態遷移モデルを生成する
    ソースコード検証装置。
  2. 請求項1に記載のソースコード検証装置であって、
    前記状態遷移モデルは、前記ソースコードの検査対象コンポーネントの事前条件、前記ソースコードの検査対象外コンポーネントの事後条件、及び前記ソースコードについて定義された不変条件を満足しない状態を排除するように生成された
    ソースコード検証装置。
  3. 請求項2に記載のソースコード検証装置であって、
    前記状態遷移モデル変換手段は、前記検証対象コンポーネントの事後条件と、前記検証対象外コンポーネントの事前条件、および前記ソースコードについて定義された前記不変条件を、検証したい性質として抽出し、
    前記検証手段は、前記状態遷移モデルが前記検証したい性質を満足するかを検証する
    ソースコード検証装置。
  4. 請求項1乃至3のいずれかに記載のソースコード検証装置であって、
    前記状態遷移モデルが、Kripke構造を有している
    ソースコード検証装置。
  5. 状態遷移モデル変換手段と検証手段とを備えるソースコード検証装置を用いたソースコード検証方法であって、
    前記状態遷移モデル変換手段が、ソースコードを状態遷移モデルに変換するステップと、
    前記検証手段が、
    前記状態遷移モデルに対してモデル検査を行うことにより、前記ソースコードを検証するステップ
    とを具備し、
    前記状態遷移モデルは、前記ソースコードについて定義された契約情報に記述された条件を満足しない状態を排除するように生成される
    ソースコード検証方法。
  6. コンピュータを、
    ソースコードを状態遷移モデルに変換する状態遷移モデル変換手段と、
    前記状態遷移モデルに対してモデル検査を行うことにより、前記ソースコードを検証する検証手段
    として動作させるプログラムであって、
    前記状態遷移モデルが、前記ソースコードについて定義された契約情報に記述された条件を満足しない状態を排除するように生成される
    プログラム。
JP2008054863A 2008-03-05 2008-03-05 ソースコード検証装置、及びソースコード検証方法 Pending JP2009211503A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008054863A JP2009211503A (ja) 2008-03-05 2008-03-05 ソースコード検証装置、及びソースコード検証方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008054863A JP2009211503A (ja) 2008-03-05 2008-03-05 ソースコード検証装置、及びソースコード検証方法

Publications (1)

Publication Number Publication Date
JP2009211503A true JP2009211503A (ja) 2009-09-17

Family

ID=41184569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008054863A Pending JP2009211503A (ja) 2008-03-05 2008-03-05 ソースコード検証装置、及びソースコード検証方法

Country Status (1)

Country Link
JP (1) JP2009211503A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009266092A (ja) * 2008-04-28 2009-11-12 Toshiba Corp テストケース生成装置およびその生成方法、ならびにテストケース生成のためのプログラム
JP2010218152A (ja) * 2009-03-16 2010-09-30 Toshiba Corp テストケース生成装置およびテストケース生成方法
WO2011122724A1 (ko) * 2010-03-29 2011-10-06 주식회사 소프트 포 소프트 아밥 소스코드의 코드 검사를 수행하는 코드검사 수행시스템
JP2011232814A (ja) * 2010-04-23 2011-11-17 Nec Corp プログラム検証装置、方法及びプログラム
JP2013125441A (ja) * 2011-12-15 2013-06-24 Toyota Infotechnology Center Co Ltd ソフトウェア管理システム、ソフトウェア検証装置、ソフトウェア管理方法
JP2013200787A (ja) * 2012-03-26 2013-10-03 Fukuoka Pref Gov Sangyo Kagaku Gijutsu Shinko Zaidan モデル検査装置、モデル検査処理方法及びプログラム
JP2018537009A (ja) * 2017-01-23 2018-12-13 三菱電機株式会社 ホワイトリスト生成器、ホワイトリスト評価器およびホワイトリスト生成・評価器、並びにホワイトリスト生成方法、ホワイトリスト評価方法およびホワイトリスト生成・評価方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063537A (ja) * 1996-08-21 1998-03-06 Fujitsu Ltd プロパティ検証方法および装置
WO2006038394A1 (ja) * 2004-10-04 2006-04-13 Matsushita Electric Industrial Co., Ltd. ソースコード検査器、方法、プログラム及び記憶媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063537A (ja) * 1996-08-21 1998-03-06 Fujitsu Ltd プロパティ検証方法および装置
WO2006038394A1 (ja) * 2004-10-04 2006-04-13 Matsushita Electric Industrial Co., Ltd. ソースコード検査器、方法、プログラム及び記憶媒体

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009266092A (ja) * 2008-04-28 2009-11-12 Toshiba Corp テストケース生成装置およびその生成方法、ならびにテストケース生成のためのプログラム
JP2010218152A (ja) * 2009-03-16 2010-09-30 Toshiba Corp テストケース生成装置およびテストケース生成方法
US8370808B2 (en) 2009-03-16 2013-02-05 Kabushiki Kaisha Toshiba Apparatus and a method for generating a test case
WO2011122724A1 (ko) * 2010-03-29 2011-10-06 주식회사 소프트 포 소프트 아밥 소스코드의 코드 검사를 수행하는 코드검사 수행시스템
US8875110B2 (en) 2010-03-29 2014-10-28 Soft4Soft Co., Ltd. Code inspection executing system for performing a code inspection of ABAP source codes
JP2011232814A (ja) * 2010-04-23 2011-11-17 Nec Corp プログラム検証装置、方法及びプログラム
JP2013125441A (ja) * 2011-12-15 2013-06-24 Toyota Infotechnology Center Co Ltd ソフトウェア管理システム、ソフトウェア検証装置、ソフトウェア管理方法
JP2013200787A (ja) * 2012-03-26 2013-10-03 Fukuoka Pref Gov Sangyo Kagaku Gijutsu Shinko Zaidan モデル検査装置、モデル検査処理方法及びプログラム
JP2018537009A (ja) * 2017-01-23 2018-12-13 三菱電機株式会社 ホワイトリスト生成器、ホワイトリスト評価器およびホワイトリスト生成・評価器、並びにホワイトリスト生成方法、ホワイトリスト評価方法およびホワイトリスト生成・評価方法

Similar Documents

Publication Publication Date Title
US10346140B2 (en) System and method for model based technology and process for safety-critical software development
US9507943B1 (en) Analysis tool for data security
US10049031B2 (en) Correlation of violating change sets in regression testing of computer software
JP2009211503A (ja) ソースコード検証装置、及びソースコード検証方法
US10558771B2 (en) Systems and methods for security and safety fault analysis using information flow
US20100180263A1 (en) Apparatus and method for detecting software error
US8572747B2 (en) Policy-driven detection and verification of methods such as sanitizers and validators
US9292652B2 (en) Generic design rule checking (DRC) test case extraction
EP2420932A1 (en) Solving hybrid constraints to validate a security software module for detecting injection attacks
JP2010539576A (ja) 航空機搭載システムのオペレーション・ソフトウェアの妥当性をテストするための自動スクリプト生成の方法および同方法を実施するためのデバイス
US9411711B2 (en) Adopting an existing automation script to a new framework
JP2009087354A (ja) ウェブアプリケーションの自動テスト生成システム及び方法
Wille et al. Debugging of inconsistent UML/OCL models
CN105528284A (zh) 一种内核故障注入方法及电子设备
JP2009087352A (ja) ソフトウェアアプリケーションにおける欠陥検出のための設定可能なウェブサービスシステム及び方法
US8453082B2 (en) Soft error verification in hardware designs
JP4913353B2 (ja) ソフトウェア動作モデル化装置及びソフトウェア動作監視装置
US9176846B1 (en) Validating correctness of expression evaluation within a debugger
US8739091B1 (en) Techniques for segmenting of hardware trace and verification of individual trace segments
JP2011150716A (ja) 脆弱性監査プログラム、脆弱性監査装置、脆弱性監査方法
JP2016031622A (ja) ソフトウェア検証システムおよび制御装置
US9600616B1 (en) Assuring chip reliability with automatic generation of drivers and assertions
JP5464031B2 (ja) プログラム検証装置、方法及びプログラム
Hierons et al. special issue on specification-based testing.
Bouali et al. Formal verification for model-based development

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110928

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120203