JP6583033B2 - ドライバ生成プログラム、装置、及び方法 - Google Patents
ドライバ生成プログラム、装置、及び方法 Download PDFInfo
- Publication number
- JP6583033B2 JP6583033B2 JP2016024930A JP2016024930A JP6583033B2 JP 6583033 B2 JP6583033 B2 JP 6583033B2 JP 2016024930 A JP2016024930 A JP 2016024930A JP 2016024930 A JP2016024930 A JP 2016024930A JP 6583033 B2 JP6583033 B2 JP 6583033B2
- Authority
- JP
- Japan
- Prior art keywords
- array
- index
- driver
- test target
- program
- 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.)
- Active
Links
Images
Description
コンピュータに、
テスト対象のプログラムから、配列にアクセスする命令に含まれ、かつ該配列の要素を指定する指数を抽出し、抽出した指数に基づいて、前記テスト対象のプログラムからアクセスされる配列の最大指数を算出し、
前記テスト対象のプログラムのシンボリック実行時におけるシンボル化対象の配列のバリエーションとして、算出した前記最大指数に対応する要素数の配列のバリエーションを設定したドライバを生成する
ことを含む処理を実行させるドライバ生成プログラム。
前記最大指数を算出する際に、前記テスト対象のプログラムに含まれる変数が使用されている指数については、該変数が取り得る最大値を用いて該指数の値を計算する付記1記載のドライバ生成プログラム。
前記最大指数を算出する際に、前記テスト対象のプログラムのシンボリック実行時に該テスト対象のプログラムから呼び出されるスタブの返却値を使用する指数については、該返却値を用いて該指数の値を計算する付記1又は付記2記載のドライバ生成プログラム。
前記スタブの返却値が変更された場合には、前記最大指数を再度算出し、該最大指数が更新された場合には、前記ドライバに設定する配列のバリエーションを追加する付記3記載のドライバ生成プログラム。
前記テスト対象のプログラムに配列の要素を削除する命令が含まれる場合、抽出した指数の値の最大値に、前記配列の要素を削除する命令により削除される要素数を加算した値を、前記最大指数として算出する付記1〜付記4のいずれか1項記載のドライバ生成プログラム。
前記指数を抽出する際、前記テスト対象のプログラムを制御フローに変換し、該制御フローをトラバースして、前記配列にアクセスする命令を探索する付記1〜付記5のいずれか1項記載のドライバ生成プログラム。
前記配列のバリエーションは、0から前記最大指数に1加算した値まで1ずつ加算した値の各々を要素数とする配列の各々である付記1〜付記6のいずれか1項記載のドライバ生成プログラム。
テスト対象のプログラムから、配列にアクセスする命令に含まれ、かつ該配列の要素を指定する指数を抽出し、抽出した指数に基づいて、前記テスト対象のプログラムからアクセスされる配列の最大指数を算出する算出部と、
前記テスト対象のプログラムのシンボリック実行時におけるシンボル化対象の配列のバリエーションとして、算出した前記最大指数に対応する要素数の配列のバリエーションを設定したドライバを生成する生成部と、
を含むドライバ生成装置。
前記算出部は、前記最大指数を算出する際に、前記テスト対象のプログラムに含まれる変数が使用されている指数については、該変数が取り得る最大値を用いて該指数の値を計算する付記8記載のドライバ生成装置。
前記算出部は、前記最大指数を算出する際に、前記テスト対象のプログラムのシンボリック実行時に該テスト対象のプログラムから呼び出されるスタブの返却値を使用する指数については、該返却値を用いて該指数の値を計算する付記8又は付記9記載のドライバ生成装置。
前記スタブの返却値が変更された場合には、前記算出部は、前記最大指数を再度算出し、該最大指数が更新された場合には、前記生成部は、前記ドライバに設定する配列のバリエーションを追加する付記10記載のドライバ生成装置。
前記算出部は、前記テスト対象のプログラムに配列の要素を削除する命令が含まれる場合、抽出した指数の値の最大値に、前記配列の要素を削除する命令により削除される要素数を加算した値を、前記最大指数として算出する付記8〜付記11のいずれか1項記載のドライバ生成装置。
前記算出部は、前記指数を抽出する際、前記テスト対象のプログラムを制御フローに変換し、該制御フローをトラバースして、前記配列にアクセスする命令を探索する付記8〜付記12のいずれか1項記載のドライバ生成装置。
前記配列のバリエーションは、0から前記最大指数に1加算した値まで1ずつ加算した値の各々を要素数とする配列の各々である付記8〜付記13のいずれか1項記載のドライバ生成装置。
コンピュータに、
テスト対象のプログラムから、配列にアクセスする命令に含まれ、かつ該配列の要素を指定する指数を抽出し、抽出した指数に基づいて、前記テスト対象のプログラムからアクセスされる配列の最大指数を算出し、
前記テスト対象のプログラムのシンボリック実行時におけるシンボル化対象の配列のバリエーションとして、算出した前記最大指数に対応する要素数の配列のバリエーションを設定したドライバを生成する
ことを含む処理を実行させるドライバ生成方法。
前記最大指数を算出する際に、前記テスト対象のプログラムに含まれる変数が使用されている指数については、該変数が取り得る最大値を用いて該指数の値を計算する付記15記載のドライバ生成方法。
前記最大指数を算出する際に、前記テスト対象のプログラムのシンボリック実行時に該テスト対象のプログラムから呼び出されるスタブの返却値を使用する指数については、該返却値を用いて該指数の値を計算する付記15又は付記16記載のドライバ生成方法。
前記スタブの返却値が変更された場合には、前記最大指数を再度算出し、該最大指数が更新された場合には、前記ドライバに設定する配列のバリエーションを追加する付記17記載のドライバ生成方法。
前記テスト対象のプログラムに配列の要素を削除する命令が含まれる場合、抽出した指数の値の最大値に、前記配列の要素を削除する命令により削除される要素数を加算した値を、前記最大指数として算出する付記15〜付記18のいずれか1項記載のドライバ生成方法。
前記指数を抽出する際、前記テスト対象のプログラムを制御フローに変換し、該制御フローをトラバースして、前記配列にアクセスする命令を探索する付記15〜付記19のいずれか1項記載のドライバ生成方法。
前記配列のバリエーションは、0から前記最大指数に1加算した値まで1ずつ加算した値の各々を要素数とする配列の各々である付記15〜付記20のいずれか1項記載のドライバ生成方法。
コンピュータに、
テスト対象のプログラムから、配列にアクセスする命令に含まれ、かつ該配列の要素を指定する指数を抽出し、抽出した指数に基づいて、前記テスト対象のプログラムからアクセスされる配列の最大指数を算出し、
前記テスト対象のプログラムのシンボリック実行時におけるシンボル化対象の配列のバリエーションとして、算出した前記最大指数に対応する要素数の配列のバリエーションを設定したドライバを生成する
ことを含む処理を実行させるドライバ生成プログラムを記憶した記憶媒体。
11 スタブ生成部
12 算出部
13 ドライバ生成部
21 SYM集合
22 INDEX集合
23 VAR集合
24 削除カウンタ
31 テスト対象クラス
32 スタブ
33 ドライバ
60 コンピュータ
61 CPU
62 メモリ
63 記憶部
69 記録媒体
70 ドライバ生成プログラム
Claims (9)
- コンピュータに、
テスト対象のプログラムから、配列にアクセスする命令に含まれ、かつ該配列の要素を指定する指数を抽出し、抽出した指数に基づいて、前記テスト対象のプログラムからアクセスされる配列の最大指数を算出し、
前記テスト対象のプログラムのシンボリック実行時におけるシンボル化対象の配列のバリエーションとして、算出した前記最大指数に対応する要素数の配列のバリエーションを設定したドライバを生成する
ことを含む処理を実行させるドライバ生成プログラム。 - 前記最大指数を算出する際に、前記テスト対象のプログラムに含まれる変数が使用されている指数については、該変数が取り得る最大値を用いて該指数の値を計算する請求項1記載のドライバ生成プログラム。
- 前記最大指数を算出する際に、前記テスト対象のプログラムのシンボリック実行時に該テスト対象のプログラムから呼び出されるスタブの返却値を使用する指数については、該返却値を用いて該指数の値を計算する請求項1又は請求項2記載のドライバ生成プログラム。
- 前記スタブの返却値が変更された場合には、前記最大指数を再度算出し、該最大指数が更新された場合には、前記ドライバに設定する配列のバリエーションを追加する請求項3記載のドライバ生成プログラム。
- 前記テスト対象のプログラムに配列の要素を削除する命令が含まれる場合、抽出した指数の値の最大値に、前記配列の要素を削除する命令により削除される要素数を加算した値を、前記最大指数として算出する請求項1〜請求項4のいずれか1項記載のドライバ生成プログラム。
- 前記指数を抽出する際、前記テスト対象のプログラムを制御フローに変換し、該制御フローをトラバースして、前記配列にアクセスする命令を探索する請求項1〜請求項5のいずれか1項記載のドライバ生成プログラム。
- 前記配列のバリエーションは、0から前記最大指数に1加算した値まで1ずつ加算した値の各々を要素数とする配列の各々である請求項1〜請求項6のいずれか1項記載のドライバ生成プログラム。
- テスト対象のプログラムから、配列にアクセスする命令に含まれ、かつ該配列の要素を指定する指数を抽出し、抽出した指数に基づいて、前記テスト対象のプログラムからアクセスされる配列の最大指数を算出する算出部と、
前記テスト対象のプログラムのシンボリック実行時におけるシンボル化対象の配列のバリエーションとして、算出した前記最大指数に対応する要素数の配列のバリエーションを設定したドライバを生成する生成部と、
を含むドライバ生成装置。 - コンピュータに、
テスト対象のプログラムから、配列にアクセスする命令に含まれ、かつ該配列の要素を指定する指数を抽出し、抽出した指数に基づいて、前記テスト対象のプログラムからアクセスされる配列の最大指数を算出し、
前記テスト対象のプログラムのシンボリック実行時におけるシンボル化対象の配列のバリエーションとして、算出した前記最大指数に対応する要素数の配列のバリエーションを設定したドライバを生成する
ことを含む処理を実行させるドライバ生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016024930A JP6583033B2 (ja) | 2016-02-12 | 2016-02-12 | ドライバ生成プログラム、装置、及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016024930A JP6583033B2 (ja) | 2016-02-12 | 2016-02-12 | ドライバ生成プログラム、装置、及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017142733A JP2017142733A (ja) | 2017-08-17 |
JP6583033B2 true JP6583033B2 (ja) | 2019-10-02 |
Family
ID=59627342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016024930A Active JP6583033B2 (ja) | 2016-02-12 | 2016-02-12 | ドライバ生成プログラム、装置、及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6583033B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023210159A1 (ja) * | 2022-04-27 | 2023-11-02 | ソニーグループ株式会社 | 情報処理装置及び情報処理方法、並びにコンピュータプログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0421030A (ja) * | 1990-05-14 | 1992-01-24 | Hitachi Ltd | 配列の宣言範囲外参照の検出オブジェクト生成方式 |
JP5556655B2 (ja) * | 2010-12-28 | 2014-07-23 | 富士通株式会社 | 解析支援プログラム,解析支援装置および解析支援方法 |
JP5884657B2 (ja) * | 2012-06-22 | 2016-03-15 | 富士通株式会社 | プログラム、テストケース生成方法およびテストケース生成装置 |
US9436587B2 (en) * | 2014-01-31 | 2016-09-06 | Fujitsu Limited | Test context generation |
-
2016
- 2016-02-12 JP JP2016024930A patent/JP6583033B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017142733A (ja) | 2017-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5652326B2 (ja) | ソフトウェアモジュールのテスト方法及びシステム | |
US20140380279A1 (en) | Prioritizing test cases using multiple variables | |
US10394694B2 (en) | Unexplored branch search in hybrid fuzz testing of software binaries | |
JP2005302028A (ja) | プログラムを計装するプローブ最適化のための方法およびシステム | |
JP6253521B2 (ja) | プログラム可視化装置、プログラム可視化方法、及びプログラム可視化プログラム | |
JP6003699B2 (ja) | テストデータ生成プログラム、方法及び装置 | |
US20120185669A1 (en) | Program inspection method and non-transitory, computer readable storage medium storing inspection program | |
JP5403999B2 (ja) | トンネリング及びスライシング・ベースのbmc分解のためのシステム及び方法 | |
US20130212565A1 (en) | Application analysis method, analysis system and recording medium | |
JP6701799B2 (ja) | データ源解析に基づく逐次反復的な試験生成 | |
JP6583033B2 (ja) | ドライバ生成プログラム、装置、及び方法 | |
JP6730587B2 (ja) | キャッシュミス推定プログラム、キャッシュミス推定方法及び情報処理装置 | |
US10102099B2 (en) | Performance information generating method, information processing apparatus and computer-readable storage medium storing performance information generation program | |
JP2009104252A (ja) | デバッグ支援装置およびデバッグ支援方法 | |
JP5887811B2 (ja) | コンパイル装置、コンパイル方法、コンパイルプログラム、記録媒体 | |
JP7380851B2 (ja) | テストスクリプト生成装置、テストスクリプト生成方法及びプログラム | |
JP6512032B2 (ja) | スタブ化対象判定装置、方法、及びプログラム | |
JP5578625B2 (ja) | プログラム分析装置、プログラム分析方法、及びプログラム | |
JP2008090699A (ja) | トレースロギング方法、装置及びプログラム | |
JP6390217B2 (ja) | ソフトウェア変更プログラム、ソフトウェア変更装置、及びソフトウェア変更方法 | |
JP2018147114A (ja) | テストケース生成方法、計算機及びプログラム | |
JPWO2019142266A1 (ja) | テストケース生成装置、テストケース生成方法およびテストケース生成プログラム | |
Letychevskyi et al. | Fuzz Testing Technique and its Use in Cybersecurity Tasks | |
US20230222376A1 (en) | Dynamic quantum compute insertion | |
JP6081144B2 (ja) | ソースコード解析装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181011 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190708 |
|
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: 20190806 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190819 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6583033 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |