JP5365846B2 - プログラム検証装置、プログラム検証方法、及び検証機能実行用プログラム - Google Patents
プログラム検証装置、プログラム検証方法、及び検証機能実行用プログラム Download PDFInfo
- Publication number
- JP5365846B2 JP5365846B2 JP2009049724A JP2009049724A JP5365846B2 JP 5365846 B2 JP5365846 B2 JP 5365846B2 JP 2009049724 A JP2009049724 A JP 2009049724A JP 2009049724 A JP2009049724 A JP 2009049724A JP 5365846 B2 JP5365846 B2 JP 5365846B2
- Authority
- JP
- Japan
- Prior art keywords
- verification
- program
- behavior
- statement
- assertion
- 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
本発明では、ユーザがプログラムのコード内に挿入した振る舞いを表すタグに注目して部分検証用モデルを作成する。具体的には、プログラム中の分岐文で分岐する先のブロックに対し振る舞いを表すタグを埋め込む。また、検証時に検証の対象とする振る舞いを指定し、ブロックに埋め込まれたタグと指定された振る舞いから検証すべきブロックを通過するための変数・式の値の範囲を特定する。そして、特定された範囲を検証範囲とすることで、特定の振る舞いに関連したコードのみについて部分的に検証する。なお、検証範囲は、検証に、プログラムの任意時点で取りうる変数・式の値の範囲である。
以下に、本発明の第1実施形態について添付図面を参照して説明する。
図5は、本発明のプログラム検証装置の構成例を示す図である。
本発明のプログラム検証装置は、二次記憶装置11と、中央処理装置12と、入力装置13と、出力装置14を備える。
プログラム入力部121は、入力装置13から検証対象のプログラムを読み取り、二次記憶装置11のプログラム記憶131に格納する。
表明入力部122は、入力装置13からユーザが定義した表明を読み取り、二次記憶装置11の表明記憶部112に格納する。
動作モード入力部123は、入力装置13から検証対象の振る舞い「bt」を読み取り検証用モデル作成部124に出力する。
検査用モデル作成部124は、動作モード入力部123から振る舞い「bt」を受け取ると、プログラム記憶部111から検証対象プログラムを読み取り、表明記憶部112から検証対象プログラムの表明を読み取り、振る舞い「bt」に合わせた部分検証用モデルを作成し、検証部125に出力する。
検証部125は、検証用モデル作成部124から検証用モデルを受け取ると、該検証用モデルを用いて検証を行う。
検証部125は、検証結果を出力装置14に出力し、終了する。
検査用モデル作成部124は、動作モード入力部123から振る舞い「bt」を受け取ると、プログラム記憶部111から検証対象プログラムを読み取る。
検査用モデル作成部124は、表明記憶部112から検証対象プログラムの表明を読み取る。
検査用モデル作成部124は、読み取った表明中から振る舞い「bt」に対応したインタフェース条件の定義を探し出し、該定義中の事前条件に合わせた初期値を検証用モデルに追加する。
検査用モデル作成部124は、読み取ったプログラムの最初の文を「stmt(Statement:命令文)」とする。
検査用モデル作成部124は、「stmt」が分岐文かどうか判断する。
検査用モデル作成部124は、「stmt」が分岐文の場合、分岐先ブロックのいずれかに振る舞いを表すタグがあるかどうか調べる。
検査用モデル作成部124は、分岐先ブロックのいずれかに振る舞いを表すタグがある場合、検証対象として指定された振る舞い「bt」と同じタグがあるかどうか調べる。
検査用モデル作成部124は、検証対象として指定された振る舞い「bt」と同じタグがある場合、振る舞い「bt」と同じタグがある分岐先ブロックのみを通過する変数・式の値の制約を検証用モデルに追加する。
検査用モデル作成部124は、検証対象として指定された振る舞い「bt」と同じタグがない場合、振る舞い「bt」と同じタグがある分岐先ブロックを通過しない変数・式の値の制約を検証用モデルに追加する。
検査用モデル作成部124は、「stmt」の内容に関係なく、「stmt」を検証用モデルに追加する。
検査用モデル作成部124は、「stmt」がプログラムの終わりの文であるか確認する。
検査用モデル作成部124は、「stmt」がプログラムの終わりの文でなければ、次の文を「stmt」とし、その「stmt」が分岐文かどうか判断し、同様の処理を繰り返す。
検査用モデル作成部124は、「stmt」がプログラムの終わりの文であれば、検証用モデルを検証部125に出力し、終了する。
次に、図8に示すC言語プログラムを例に、図6及び図7のフローチャートを参照し、実際のデータを用いて詳細に説明する。
プログラム入力部121は、入力装置13から、図8に示すC言語プログラム(図8の12〜31行目)を読み取り、二次記憶装置11のプログラム記憶131に格納する。
表明入力部122は、入力装置13から表明(図8の1〜11行目)を読み取り、二次記憶装置11の表明記憶部112に格納する。
次に、動作モード入力部123は、入力装置13から検証対象の振る舞いとして「p_changed」を読み取り、読み取られた「p_changed」を振る舞い「bt」として、検証用モデル作成部124に出力する。
検査用モデル作成部124は、動作モード入力部123から振る舞い「bt」として「p_changed」を受け取ると、振る舞い「bt」に合わせた部分検証用モデルの作成処理として、以下の処理を行なう。
検査用モデル作成部124は、動作モード入力部123から振る舞い「bt」を受け取ると、プログラム記憶部111から検証対象プログラムを読み取る。
検査用モデル作成部124は、表明記憶部112から検証対象プログラムの表明を読み取る。
次に、検査用モデル作成部124は、読み取った表明中から振る舞い「bt」に対応したインタフェース条件の定義を探しだすと、該表明中の振る舞い「p_changed」の定義は3〜5行目になる。ところが、ここの定義には事前条件が存在しないので、全振る舞い共通の(振る舞い定義の前にある)1〜2行目の事前条件のみが振る舞い「p_changed」の事前条件となり、ポインタ引数「p」、「q」が有効となるような初期値を検証用モデルに追加する。
次に、検査用モデル作成部124は、読み取ったプログラム(図8の12〜31行目)の最初の文である12行目を「stmt」する。
検査用モデル作成部124は、「stmt」(12行目)が分岐文かどうか判断する。
検査用モデル作成部124は、「stmt」は分岐文ではないので、「stmt」を検証用モデルに追加する。
検査用モデル作成部124は、「stmt」がプログラムの終わりの文であるか確認する。
検査用モデル作成部124は、「stmt」がプログラムの終わりの文ではないので、次の13行目を「stmt]とする。ここでは、検査用モデル作成部124は、13行目も分岐文ではないので同様の処理を繰り返し、次の14行目を「stmt」とする。
検査用モデル作成部124は、「stmt」(14行目)が分岐文かどうか判断する。
検査用モデル作成部124は、14行目は分岐文なので、分岐先のブロックに振る舞いを表すタグがあるかどうか調べる。
検査用モデル作成部124は、14行目のif文の分岐先ブロックは15〜16行目のif節だけであり、15行目は振る舞いを表すタグを含むので、検証対象として指定された振る舞い「p_changed」と同じタグがあるかどうか調べる。
検査用モデル作成部124は、15行目のタグは「p_changed」とは違うので、15〜16行目のif節ブロックを通過しないよう、14行目の時点で「!ext_is_valid()」が偽になる制約を検証用モデルに追加する。
その後、検査用モデル作成部124は、「stmt」を検証用モデルに追加する。
検査用モデル作成部124は、「stmt」がプログラムの終わりの文であるか確認する。
検査用モデル作成部124は、「stmt」がプログラムの終わりの文ではないので、次の15行目を「stmt」とする。検査用モデル作成部124は、同様の処理を繰り返し、19行目のif文を「stmt」とする。
検査用モデル作成部124は、19行目のif文が「stmt」となった場合、「stmt」(19行目)が分岐文かどうか判断する。
検査用モデル作成部124は、19行目は分岐文なので、分岐先のブロックに振る舞いを表すタグがあるかどうか調べる。
検査用モデル作成部124は、19行目のif文の分岐先ブロックは20〜21行目のif節と23〜24行目のelse節であり、20、23行目は振る舞いを表すタグを含むので、検証対象として指定された振る舞い「p_changed」と同じタグがあるかどうか調べる。
検査用モデル作成部124は、20行目のタグは「p_changed」と同じであり、23行目のタグは違うので、20〜21行目のif節ブロックを通過し23〜24行目のelse節ブロックを通過しないよう、19行目の時点で「n>0」が真になる制約を検証用モデルに追加する。
その後、検査用モデル作成部124は、「stmt」を検証用モデルに追加する。
検査用モデル作成部124は、「stmt」がプログラムの終わりの文であるか確認する。
検査用モデル作成部124は、「stmt」がプログラムの終わりの文ではないので、次の20行目を「stmt」とする。検査用モデル作成部124は、同様の処理を繰り返し、26行目のif文を「stmt」とする。
検査用モデル作成部124は、26行目のif文が「stmt」となった場合、「stmt」(26行目)が分岐文かどうか判断する。
検査用モデル作成部124は、26行目は分岐文なので、分岐先のブロックに振る舞いを表すタグがあるかどうか調べる。
その後、検査用モデル作成部124は、26行目のif文の分岐先ブロックは27行目のif節と29行目のelse節であり、いずれも振る舞いを表すタグを含まないので、そのまま「stmt」を検証用モデルに追加する。
検査用モデル作成部124は、「stmt」がプログラムの終わりの文であるか確認する。
検査用モデル作成部124は、「stmt」がプログラムの終わりの文ではないので、次の27行目を「stmt」とする。検査用モデル作成部124は、同様の処理を繰り返し、31行目のif文を「stmt」とする。
検査用モデル作成部124は、31行目のif文が「stmt」となった場合、「stmt」(31行目)が分岐文かどうか判断する。
検査用モデル作成部124は、31行目は分岐文なので、分岐先のブロックに振る舞いを表すタグがあるかどうか調べる。
その後、検査用モデル作成部124は、31行目のif文の分岐先ブロックは27行目のif節と29行目のelse節であり、いずれも振る舞いを表すタグを含まないので、そのまま「stmt」を検証用モデルに追加する。
検査用モデル作成部124は、「stmt」がプログラムの終わりの文であるか確認する。
検査用モデル作成部124は、31行目はプログラムの終わりの文になるので、検証用モデルを検証部125に出力する。
検証部125は、検証用モデル作成部124から検証用モデルを受け取ると、該検証用モデルを用いて検証を行う。
検証部125は、この検証結果を出力装置14に出力し、終了する。
以下に、本発明の第2実施形態について説明する。
図5に示す第1実施形態のプログラム検証装置の構成において、入力装置13、プログラム入力部121、表明入力部122、動作モード入力部123が無くても良い。その場合、検証対象プログラム、表明、検証対象の振る舞いは二次記憶装置11に事前に格納されており(例えば、二次記憶装置12がリポジトリとして使われている等)、二次記憶装置11から直接読み取られる。
本発明のプログラム検証装置は、二次記憶装置11と、中央処理装置12と、出力装置14を備える。
以下に、本発明の第3実施形態について説明する。
図5に示す第1実施形態のプログラム検証装置の構成において、検証用モデル作成部124が検証部125と分離しておらず、統合されていても良い。ここでは、検証用モデル作成部124及び検証部125が統合されたものを、「検証実行部」と呼ぶ。その場合、図6のフローチャートのステップST103、ST104、ST105、ST106、及び図7のフローチャートの全ステップは全て、統合された検証実行部が行うことになる。その際、検証モデル作成と検証が同時に行われても良い。
本発明のプログラム検証装置は、二次記憶装置11と、中央処理装置12と、入力装置13と、出力装置14を備える。
111… プログラム記憶部
112… 表明記憶部
113… 振る舞い記憶部
12… 中央処理装置
121… プログラム入力部
122… 表明入力部
123… 動作モード入力部
124… 検証用モデル作成部
125… 検証部
126… 検証実行部
13… 入力装置
14… 出力装置
Claims (15)
- 検証対象プログラムを記憶するプログラム記憶手段と、
前記検証対象プログラムの振る舞いと振る舞い毎のインタフェース条件定義を含む表明を記憶する表明記憶手段と、
前記表明、及び、ユーザにより指定された振る舞いに基づき、前記指定された振る舞いに関連したコードを検証するための検証用モデルを作成する検証用モデル作成手段と、
呼び出し時点での動作コンテキストでは決定されない振る舞いをする外部関数の呼び出しが前記検証対象プログラム中にある場合には、前記検証用モデルを用いて、前記検証対象プログラムの特定の振る舞いに関連したコードを部分的に検証する検証手段と
を具備し、
前記検証用モデル作成手段は、
前記検証用モデルの作成にあたって、前記指定された振る舞いに関連した部分を通過して前記検証対象プログラムの前記特定の振る舞いに関連したコードを前記検証手段が処理するように、前記指定された振る舞いに関連したコードを前記検証対象プログラム中に埋め込む
プログラム検証装置。 - 請求項1に記載のプログラム検証装置であって、
入力装置から前記指定された振る舞いを読み取り、前記検証用モデル作成手段に出力する動作モード入力手段
を更に具備し、
前記検証用モデル作成手段は、前記動作モード入力手段から前記指定された振る舞いを受け取ると、前記プログラム記憶手段から前記検証対象プログラムを読み取り、前記表明記憶手段から前記表明を読み取り、前記検証対象プログラム、前記表明、及び前記指定された振る舞いに基づいて前記検証用モデルを作成し、前記検証手段に出力する
プログラム検証装置。 - 請求項1に記載のプログラム検証装置であって、
前記指定された振る舞いを記憶する振る舞い記憶手段
を更に具備し、
前記検証用モデル作成手段は、
前記プログラム記憶手段から前記検証対象プログラムを読み取り、前記表明記憶手段から前記検証対象プログラムの表明を読み取り、前記振る舞い記憶手段から前記指定された振る舞いを読み取り、前記検証対象プログラム、前記表明、及び前記指定された振る舞いに基づいて前記検証用モデルを作成し、前記検証手段に出力する
プログラム検証装置。 - 請求項1乃至3のいずれか一項に記載のプログラム検証装置であって、
前記検証用モデル作成手段は、
前記表明中から前記指定された振る舞いに対応したインタフェース条件の定義を探し出し、前記探し出した定義中の事前条件に合わせた初期値を前記検証用モデルに追加する手段と、
前記検証対象プログラムの最初の文を命令文とする手段と、
前記命令文が分岐文かどうか判断する手段と、
前記命令文が分岐文の場合、分岐先ブロックのいずれかに振る舞いを表すタグがあるかどうか調べる手段と、
前記分岐先ブロックのいずれかに振る舞いを表すタグがある場合、前記指定された振る舞いと同じタグがあるかどうか調べる手段と、
前記指定された振る舞いと同じタグがある場合、前記指定された振る舞いと同じタグがある分岐先ブロックのみを通過する変数・式の値の制約を前記検証用モデルに追加する手段と、
前記指定された振る舞いと同じタグがない場合、前記指定された振る舞いと同じタグがある分岐先ブロックを通過しない変数・式の値の制約を前記検証用モデルに追加する手段と、
前記命令文を前記検証用モデルに追加する手段と、
前記命令文が前記検証対象プログラムの終わりの文であるか確認する手段と、
前記命令文が前記検証対象プログラムの終わりの文でなければ、次の文を新規の命令文とし、前記新規の命令文に対して、前記命令文と同様の処理を繰り返す手段と、
前記命令文が前記検証対象プログラムの終わりの文であれば、前記検証用モデルを前記検証手段に出力する手段と
を具備する
プログラム検証装置。 - 請求項1乃至4のいずれか一項に記載のプログラム検証装置であって、
前記検証用モデル作成手段及び前記検証手段を統合した検証実行手段
を更に具備する
プログラム検証装置。 - プログラム記憶手段に、検証対象プログラムを保持し、
表明記憶手段に、前記検証対象プログラムの振る舞いと振る舞い毎のインタフェース条件定義を含む表明を保持し、
前記表明、及び、ユーザにより指定された振る舞いに基づき、前記指定された振る舞いに関連したコードを検証するための検証用モデルを作成し、
呼び出し時点での動作コンテキストでは決定されない振る舞いをする外部関数の呼び出しが前記検証対象プログラム中にある場合においては、前記検証用モデルを用いて、前記検証対象プログラムの特定の振る舞いに関連したコードを部分的に検証し、
前記検証用モデルの作成にあたっては、
前記指定された振る舞いに関連した部分を通過して前記検証対象プログラムの前記特定の振る舞いに関連したコードが処理されるように、前記指定された振る舞いに関連したコードを前記検証対象プログラム中に埋め込む
プログラム検証方法。 - 請求項6に記載のプログラム検証方法であって、
入力装置から前記指定された振る舞いを読み取り、
前記指定された振る舞いを受け取ると、前記プログラム記憶手段から前記検証対象プログラムを読み取り、
前記表明記憶手段から前記表明を読み取り、
前記検証対象プログラム、前記表明、及び前記振る舞いに基づいて前記検証用モデルを作成する
プログラム検証方法。 - 請求項6に記載のプログラム検証方法であって、
振る舞い記憶手段に、前記指定された振る舞いを保持し、
前記プログラム記憶手段から前記検証対象プログラムを読み取り、
前記表明記憶手段から前記検証対象プログラムの表明を読み取り、
前記振る舞い記憶手段から前記指定された振る舞いを読み取り、
前記検証対象プログラム、前記表明、及び前記指定された振る舞いに基づいて前記検証用モデルを作成する
プログラム検証方法。 - 請求項6乃至8のいずれか一項に記載のプログラム検証方法であって、
前記表明中から前記指定された振る舞いに対応したインタフェース条件の定義を探し出し、前記探し出した定義中の事前条件に合わせた初期値を前記検証用モデルに追加し、
前記検証対象プログラムの最初の文を命令文とし、
前記命令文が分岐文かどうか判断し、
前記命令文が分岐文の場合、分岐先ブロックのいずれかに振る舞いを表すタグがあるかどうか調べ、
前記分岐先ブロックのいずれかに振る舞いを表すタグがある場合、前記指定された振る舞いと同じタグがあるかどうか調べ、
前記指定された振る舞いと同じタグがある場合、前記指定された振る舞いと同じタグがある分岐先ブロックのみを通過する変数・式の値の制約を前記検証用モデルに追加し、
前記指定された振る舞いと同じタグがない場合、前記指定された振る舞いと同じタグがある分岐先ブロックを通過しない変数・式の値の制約を前記検証用モデルに追加し、
前記命令文を前記検証用モデルに追加し、
前記命令文が前記検証対象プログラムの終わりの文であるか確認し、
前記命令文が前記検証対象プログラムの終わりの文でなければ、次の文を新規の命令文とし、前記新規の命令文に対して、前記命令文と同様の処理を繰り返し、
前記命令文が前記検証対象プログラムの終わりの文であれば、前記検証用モデルを用いて検証を行う準備をする
プログラム検証方法。 - 請求項6乃至9のいずれか一項に記載のプログラム検証方法であって、
前記検証用モデルの作成及び検証に係る処理を統合して、一連の処理として実行する
プログラム検証方法。 - プログラム記憶手段に、検証対象プログラムを保持するステップと、
表明記憶手段に、前記検証対象プログラムの振る舞いと振る舞い毎のインタフェース条件定義を含む表明を保持するステップと、
前記表明、及び、ユーザにより指定された振る舞いに基づき、前記振る舞いに関連したコードを検証するための検証用モデルを作成するステップと、
呼び出し時点での動作コンテキストでは決定されない振る舞いをする外部関数の呼び出しが前記検証対象プログラム中にある場合においては、前記検証用モデルを用いて、前記検証対象プログラムの特定の振る舞いに関連したコードを部分的に検証するステップと
をコンピュータに実行させ、
前記検証用モデルを作成するステップでは、
前記指定された振る舞いに関連した部分を通過して前記検証対象プログラムの前記特定の振る舞いに関連したコードが前記部分的に検証するステップで処理されるように、前記指定された振る舞いに関連したコードを前記検証対象プログラム中に埋め込むことをコンピュータに実行させるための
検証機能実行用プログラム。 - 請求項11に記載の検証機能実行用プログラムであって、
入力装置から前記指定された振る舞いを読み取るステップと、
前記振る舞いを受け取ると、前記プログラム記憶手段から前記検証対象プログラムを読み取るステップと、
前記表明記憶手段から前記表明を読み取るステップと、
前記検証対象プログラム、前記表明、及び前記振る舞いに基づいて前記検証用モデルを作成するステップと
を更にコンピュータに実行させるための
検証機能実行用プログラム。 - 請求項11に記載の検証機能実行用プログラムであって、
振る舞い記憶手段に、前記指定された振る舞いを保持するステップと、
前記プログラム記憶手段から前記検証対象プログラムを読み取るステップと、
前記表明記憶手段から前記検証対象プログラムの表明を読み取るステップと、
前記振る舞い記憶手段から前記指定された振る舞いを読み取るステップと、
前記検証対象プログラム、前記表明、及び前記振る舞いに基づいて前記検証用モデルを作成するステップと
を更にコンピュータに実行させるための
検証機能実行用プログラム。 - 請求項11乃至13のいずれか一項に記載の検証機能実行用プログラムであって、
前記表明中から前記指定された振る舞いに対応したインタフェース条件の定義を探し出し、前記探し出した定義中の事前条件に合わせた初期値を前記検証用モデルに追加するステップと、
前記検証対象プログラムの最初の文を命令文とするステップと、
前記命令文が分岐文かどうか判断するステップと、
前記命令文が分岐文の場合、分岐先ブロックのいずれかに振る舞いを表すタグがあるかどうか調べるステップと、
前記分岐先ブロックのいずれかに振る舞いを表すタグがある場合、前記指定された振る舞いと同じタグがあるかどうか調べるステップと、
前記指定された振る舞いと同じタグがある場合、前記指定された振る舞いと同じタグがある分岐先ブロックのみを通過する変数・式の値の制約を前記検証用モデルに追加するステップと、
前記指定された振る舞いと同じタグがない場合、前記指定された振る舞いと同じタグがある分岐先ブロックを通過しない変数・式の値の制約を前記検証用モデルに追加するステップと、
前記命令文を前記検証用モデルに追加するステップと、
前記命令文が前記検証対象プログラムの終わりの文であるか確認するステップと、
前記命令文が前記検証対象プログラムの終わりの文でなければ、次の文を新規の命令文とし、前記新規の命令文に対して、前記命令文と同様の処理を繰り返すステップと、
前記命令文が前記検証対象プログラムの終わりの文であれば、前記検証用モデルを前記検証手段に出力するステップと
を更にコンピュータに実行させるための
検証機能実行用プログラム。 - 請求項11乃至14のいずれか一項に記載の検証機能実行用プログラムであって、
前記検証用モデルの作成及び検証に係る処理を統合して、一連の処理として実行するステップと
を更にコンピュータに実行させるための
検証機能実行用プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009049724A JP5365846B2 (ja) | 2009-03-03 | 2009-03-03 | プログラム検証装置、プログラム検証方法、及び検証機能実行用プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009049724A JP5365846B2 (ja) | 2009-03-03 | 2009-03-03 | プログラム検証装置、プログラム検証方法、及び検証機能実行用プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010204954A JP2010204954A (ja) | 2010-09-16 |
JP5365846B2 true JP5365846B2 (ja) | 2013-12-11 |
Family
ID=42966373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009049724A Expired - Fee Related JP5365846B2 (ja) | 2009-03-03 | 2009-03-03 | プログラム検証装置、プログラム検証方法、及び検証機能実行用プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5365846B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10915427B2 (en) | 2017-02-22 | 2021-02-09 | Mitsubishi Electric Corporation | Equivalence verification apparatus and computer readable medium |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0217547A (ja) * | 1988-07-06 | 1990-01-22 | Fujitsu Ltd | テストデータ作成支援処理方式 |
JP2000267888A (ja) * | 1999-03-19 | 2000-09-29 | Ntt Communicationware Corp | ソフトウェア試験実施網羅率測定方法、ソフトウェア試験実施網羅率測定装置および記録媒体 |
JP4872357B2 (ja) * | 2006-01-19 | 2012-02-08 | 日本電気株式会社 | プログラムテスト支援システム、方法及びプログラム |
-
2009
- 2009-03-03 JP JP2009049724A patent/JP5365846B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010204954A (ja) | 2010-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8578344B2 (en) | Incremental compositional dynamic test generation | |
JP5786512B2 (ja) | インジェクション攻撃を検出するためのセキュリティ・ソフトウェア・モジュールを検証するためのハイブリッド制約条件の求解 | |
JP5786511B2 (ja) | ソフトウェア・モジュールの仕様要件を検証するためのハイブリッド制約条件の求解 | |
US8645761B2 (en) | Precise fault localization | |
WO2015159501A1 (ja) | 検証性質統合装置、検証性質統合方法および検証性質統合プログラムが記録された記憶媒体 | |
US10095512B2 (en) | Program development support device, non-transitory storage medium storing thereon computer-readable program development support program, and program development support method | |
v. Gleissenthall et al. | Solver-aided constant-time hardware verification | |
US20110131031A1 (en) | Dynamic generation of tests | |
JP5440287B2 (ja) | シンボリック実行支援プログラム、方法及び装置 | |
JP5365846B2 (ja) | プログラム検証装置、プログラム検証方法、及び検証機能実行用プログラム | |
WO2021183382A1 (en) | Graph-based method for inductive bug localization | |
JP5163172B2 (ja) | ソフトウェアテスト項目編集支援装置およびソフトウェアテスト項目編集支援方法 | |
JP5170555B2 (ja) | エラートレース簡略化システム、エラートレース簡略化方法、及びプログラム | |
KR102378377B1 (ko) | 스마트 컨트랙트 내의 취약 트랜잭션 시퀀스 획득 장치 및 방법 | |
JP5811859B2 (ja) | ソースコードの静的解析装置、システム、方法、及びそのためのプログラム | |
CN112346780B (zh) | 一种信息处理方法、装置和存储介质 | |
JP5093508B2 (ja) | ループ最適化システム、ループ最適化方法、及びループ最適化用プログラム | |
JP2022052542A (ja) | Ffu検査装置及びffu検査用プログラム | |
JP2017041085A (ja) | プログラム仕様推定装置、推定方法、および推定プログラム | |
JP2007041777A (ja) | 言語処理方法 | |
CN116361748B (zh) | 一种软件供应链安全检测方法和装置 | |
JP2014106770A (ja) | 型チェック装置、型チェック方法および型チェックプログラム | |
JP2022177585A (ja) | エラーチェックプログラム、情報処理装置およびエラーチェック方法 | |
US7822953B2 (en) | Protection of a program against a trap | |
CN117573520A (zh) | 程序异常检测方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130515 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130529 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130729 |
|
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: 20130815 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130828 |
|
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 |