JP2009211503A - ソースコード検証装置、及びソースコード検証方法 - Google Patents
ソースコード検証装置、及びソースコード検証方法 Download PDFInfo
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
【課題】ソースコードの検証に対してモデル検査を行う際に問題となる状態爆発を抑制する。
【解決手段】ソースコード検証システム200は、検証対象ソースコード100をKripke構造モデル300に変換し、Kripke構造モデル300に対してモデル検査を行うことにより、検証対象ソースコード100を検証する。Kripke構造モデル300は、検証対象ソースコード100について定義された契約情報に記述された条件を満足しない状態を排除するようにKripke構造モデル300を生成する。
【選択図】図1
【解決手段】ソースコード検証システム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は変数の数)の取り得る値の数がNiであるとすると、可能な状態の数Nallは、下記式:
Nall=N1×N2×・・・×Nm,
で表される。その結果、状態遷移を辿る処理は指数関数的に時間が掛かるようになり、「状態爆発」という現象が起きてしまう。
Nall=N1×N2×・・・×Nm,
で表される。その結果、状態遷移を辿る処理は指数関数的に時間が掛かるようになり、「状態爆発」という現象が起きてしまう。
このような問題は、ソフトウェアの検証技術でのモデル検査の適用を妨げる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から排除し、起こりえない状態に対しては検証を省略する。したがって、起こりえない状態に対して発生するバグが誤って検出されることはない。
100:検証対象ソースコード
110:検証対象コンポーネント
111:事前条件
112:事後条件
113:ソースコード
120:検証対象外コンポーネント
121:事前条件
122:事後条件
123:ソースコード
130:不変条件
200:ソースコード検証システム
300:Kripke構造モデル
400:検証結果
10:ソースコード検証装置
11:CPU
12:RAM
13:入力装置
14:出力装置
15:外部記憶装置
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のいずれかに記載のソースコード検証装置であって、
前記状態遷移モデルが、Kripke構造を有している
ソースコード検証装置。 - 状態遷移モデル変換手段と検証手段とを備えるソースコード検証装置を用いたソースコード検証方法であって、
前記状態遷移モデル変換手段が、ソースコードを状態遷移モデルに変換するステップと、
前記検証手段が、
前記状態遷移モデルに対してモデル検査を行うことにより、前記ソースコードを検証するステップ
とを具備し、
前記状態遷移モデルは、前記ソースコードについて定義された契約情報に記述された条件を満足しない状態を排除するように生成される
ソースコード検証方法。 - コンピュータを、
ソースコードを状態遷移モデルに変換する状態遷移モデル変換手段と、
前記状態遷移モデルに対してモデル検査を行うことにより、前記ソースコードを検証する検証手段
として動作させるプログラムであって、
前記状態遷移モデルが、前記ソースコードについて定義された契約情報に記述された条件を満足しない状態を排除するように生成される
プログラム。
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)
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)
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. | ソースコード検査器、方法、プログラム及び記憶媒体 |
-
2008
- 2008-03-05 JP JP2008054863A patent/JP2009211503A/ja active Pending
Patent Citations (2)
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)
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 |