JP2018147114A - テストケース生成方法、計算機及びプログラム - Google Patents
テストケース生成方法、計算機及びプログラム Download PDFInfo
- Publication number
- JP2018147114A JP2018147114A JP2017039785A JP2017039785A JP2018147114A JP 2018147114 A JP2018147114 A JP 2018147114A JP 2017039785 A JP2017039785 A JP 2017039785A JP 2017039785 A JP2017039785 A JP 2017039785A JP 2018147114 A JP2018147114 A JP 2018147114A
- Authority
- JP
- Japan
- Prior art keywords
- function
- test case
- calling
- value
- computer
- 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.)
- Granted
Links
Images
Abstract
Description
HDD7は、大容量の記憶装置であり、OSやアプリケーションソフトウェアなどの各種プログラムや、プログラムに使用されるデータなどを格納する補助記憶装置である。CDROMドライブ12は、CDROM(Compact Disc Read Only Memory)12Aに記憶されたプログラムやデータを読み取る装置である。
まず、ステップS141において、テストケース生成部18が変数n=1と設定する。
次に、ステップS142において、テストケース生成部18が、関数情報記憶部20を検索し、入力値生成順序フィールド20Dの値がnである関数が存在するか否かを判定する。値がnでの関数が存在する場合にはステップS143に進む(以下、この関数をf_nと呼ぶ)。値がnの関数が存在しない場合には入力値生成処理を終了する。
4 CPU
5 ROM
6 RAM
7 HDD
8 BUS
9 入力装置
10 表示装置
11 通信I/F
12 CDROMドライブ
12A CDROM
13 テストケース生成プログラム
14 記憶部
15 関数情報解析部
16 入力値生成順序決定部
17 必要戻り値解析部
18 テストケース生成部
19 ソースコード記憶部
20 関数情報記憶部
21 テストケース情報記憶部
22 記号実行部
20A 関数IDフィールド
20B 関数名フィールド
20C 呼出し関数リストフィールド
20D 入力値生成順序フィールド
20E 必要戻り値リストフィールド
21A テストケースIDフィールド
21B 関数IDフィールド
21C 入力値リストフィールド
21D 出力値フィールド
Claims (15)
- プロセッサとメモリを有する計算機でソースコードのテストケースを生成するテストケース生成方法であって、
前記計算機が、前記ソースコードを読み込む第1のステップと、
前記計算機が、前記ソースコード内の関数情報を解析して、呼出し側関数内の経路を網羅するために必要となる被呼出し側関数の戻り値を解析する第2のステップと、
前記計算機が、前記被呼出し側関数の入力値と出力値を用いて、呼出し側関数内の被呼出し側関数の呼出し箇所に所定の簡略化処理を実施する第3のステップと、
前記計算機が、前記呼出し側関数と被呼出し側関数の全ての関数内の経路を網羅する入力値を所定の順序で生成する第4のステップと、
を含むことを特徴とするテストケース生成方法。 - 請求項1に記載のテストケース生成方法であって、
前記第4のステップは、
前記呼出し側関数と被呼出し側関数の呼出し関係に基づいて、前記入力値を生成する順序を決定するステップを含むことを特徴とするテストケース生成方法。 - 請求項2に記載のテストケース生成方法であって、
前記第4のステップは、
前記入力値を生成する順序を、前記被呼出し側関数のうち最下位の関数から前記呼出し側関数へ向けて順次決定することを特徴とするテストケース生成方法。 - 請求項1に記載のテストケース生成方法であって、
前記第2のステップは、
前記被呼出し側関数の呼出し箇所を仮変数に置き換えるステップと、
前記仮変数を記号値として記号実行し、前記被呼出し側関数の入力値を生成するステップと、
を含むことを特徴とするテストケース生成方法。 - 請求項1に記載のテストケース生成方法であって、
前記第3のステップは、
前記簡略化処理として、前記被呼出し側関数の呼出し箇所を、当該被呼出し側関数の入力値と出力値に基づく条件分岐に置き換え、
前記第4のステップは、
前記条件分岐に対して記号実行を実施して入力値を生成することを特徴とするテストケース生成方法。 - プロセッサとメモリを有してソースコードのテストケースを生成する計算機であって、
前記ソースコードを読み込んで、前記ソースコード内の関数情報を解析して、呼出し側関数内の経路を網羅するために必要となる被呼出し側関数の戻り値を解析する関数情報解析部と、
前記被呼出し側関数の入力値と出力値を用いて、呼出し側関数内の被呼出し側関数の呼出し箇所に所定の簡略化処理を実施し、前記呼出し側関数と被呼出し側関数の全ての関数内の経路を網羅する入力値を所定の順序で生成するテストケース生成部と、
を有することを特徴とする計算機。 - 請求項6に記載の計算機であって、
前記呼出し側関数と被呼出し側関数の呼出し関係に基づいて、前記入力値を生成する順序を決定する入力値生成順序決定部をさらに有することを特徴とする計算機。 - 請求項7に記載の計算機であって、
前記入力値生成順序決定部は、
前記入力値を生成する順序を、前記被呼出し側関数のうち最下位の関数から前記呼出し側関数へ向けて順次決定することを特徴とする計算機。 - 請求項6に記載の計算機であって、
前記関数情報解析部は、
前記被呼出し側関数の呼出し箇所を仮変数に置き換えるステップと、
前記仮変数を記号値として記号実行し、前記被呼出し側関数の入力値を生成するステップと、
を含むことを特徴とする計算機。 - 請求項6に記載の計算機であって、
前記テストケース生成部は、
前記簡略化処理として、前記被呼出し側関数の呼出し箇所を、当該被呼出し側関数の入力値と出力値に基づく条件分岐に置き換え、前記条件分岐に対して記号実行を実施して入力値を生成することを特徴とする計算機。 - プロセッサとメモリを有する計算機を制御するためのプログラムであって、
ソースコードを読み込む第1のステップと、
前記ソースコード内の関数情報を解析して、呼出し側関数内の経路を網羅するために必要となる被呼出し側関数の戻り値を解析する第2のステップと、
前記被呼出し側関数の入力値と出力値を用いて、呼出し側関数内の被呼出し側関数の呼出し箇所に所定の簡略化処理を実施する第3のステップと、
前記呼出し側関数と被呼出し側関数の全ての関数内の経路を網羅する入力値を所定の順序で生成する第4のステップと、
を前記計算機に実行させるためのプログラム。 - 請求項11に記載のプログラムであって、
前記第4のステップは、
前記呼出し側関数と被呼出し側関数の呼出し関係に基づいて、前記入力値を生成する順序を決定するステップを含むことを特徴とするプログラム。 - 請求項12に記載のプログラムであって、
前記第4のステップは、
前記入力値を生成する順序を、前記被呼出し側関数のうち最下位の関数から前記呼出し側関数へ向けて順次決定することを特徴とするプログラム。 - 請求項11に記載のプログラムであって、
前記第2のステップは、
前記被呼出し側関数の呼出し箇所を仮変数に置き換えるステップと、
前記仮変数を記号値として記号実行し、前記被呼出し側関数の入力値を生成するステップと、
を含むことを特徴とするプログラム。 - 請求項11に記載のプログラムであって、
前記第3のステップは、
前記簡略化処理として、前記被呼出し側関数の呼出し箇所を、当該被呼出し側関数の入力値と出力値に基づく条件分岐に置き換え、
前記第4のステップは、
前記条件分岐に対して記号実行を実施して入力値を生成することを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017039785A JP6693898B2 (ja) | 2017-03-02 | 2017-03-02 | テストケース生成方法、計算機及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017039785A JP6693898B2 (ja) | 2017-03-02 | 2017-03-02 | テストケース生成方法、計算機及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018147114A true JP2018147114A (ja) | 2018-09-20 |
JP6693898B2 JP6693898B2 (ja) | 2020-05-13 |
Family
ID=63592177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017039785A Active JP6693898B2 (ja) | 2017-03-02 | 2017-03-02 | テストケース生成方法、計算機及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6693898B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020194455A1 (ja) * | 2019-03-25 | 2020-10-01 | 三菱電機株式会社 | テストケース生成装置、テストケース生成方法、およびテストケース生成プログラム |
-
2017
- 2017-03-02 JP JP2017039785A patent/JP6693898B2/ja active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020194455A1 (ja) * | 2019-03-25 | 2020-10-01 | 三菱電機株式会社 | テストケース生成装置、テストケース生成方法、およびテストケース生成プログラム |
JPWO2020194455A1 (ja) * | 2019-03-25 | 2021-09-13 | 三菱電機株式会社 | テストケース生成装置、テストケース生成方法、およびテストケース生成プログラム |
CN113574511A (zh) * | 2019-03-25 | 2021-10-29 | 三菱电机株式会社 | 测试用例生成装置、测试用例生成方法和测试用例生成程序 |
Also Published As
Publication number | Publication date |
---|---|
JP6693898B2 (ja) | 2020-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8726255B2 (en) | Recompiling with generic to specific replacement | |
Kwon et al. | Mantis: Automatic performance prediction for smartphone applications | |
JP7218793B2 (ja) | プログラムの機能を向上するための制御フローシステム、非一時的可読媒体、および方法 | |
US20110126179A1 (en) | Method and System for Dynamic Patching Software Using Source Code | |
CN112905447B (zh) | 一种区块链虚拟机的测试方法和系统 | |
JP6003699B2 (ja) | テストデータ生成プログラム、方法及び装置 | |
Bian et al. | SPAPE: A semantic-preserving amorphous procedure extraction method for near-miss clones | |
JP6759851B2 (ja) | プログラム生成プログラム、プログラム生成方法、プログラム生成装置及びコンパイルプログラム | |
JP2008276735A (ja) | プログラムコード変換装置及びプログラムコード変換方法 | |
JP6693898B2 (ja) | テストケース生成方法、計算機及びプログラム | |
CN114174983B (zh) | 用于高级构造的优化的自动验证的方法和系统 | |
JP2016128941A (ja) | 出力判定装置、出力判定方法、出力判定プログラム、及び、静的解析装置 | |
JP7380851B2 (ja) | テストスクリプト生成装置、テストスクリプト生成方法及びプログラム | |
KR102117165B1 (ko) | 바이너리 분석을 위한 중간 언어 테스트 방법 및 장치 | |
JP6116983B2 (ja) | エントリーポイント抽出装置 | |
JP5578625B2 (ja) | プログラム分析装置、プログラム分析方法、及びプログラム | |
JP5755861B2 (ja) | テストケース生成装置、テストケース生成方法およびテストケース生成プログラム | |
JP2017041196A (ja) | スタブ化対象判定装置、方法、及びプログラム | |
Huong et al. | An Automated Stub Method for Unit Testing C/C++ Projects | |
JP7059827B2 (ja) | ソースコード生成装置 | |
US20170344351A1 (en) | Information processing apparatus, compiling management method, and recording medium | |
JP7385536B2 (ja) | ソフトウェア開発支援装置及びソフトウェア開発支援方法 | |
Padaryan et al. | On the Representation of Results of Binary Code Reverse Engineering | |
JP5343840B2 (ja) | プログラムの解析装置及び解析方法 | |
Letychevskyi et al. | Fuzz Testing Technique and its Use in Cybersecurity Tasks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190306 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200128 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200228 |
|
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: 20200407 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200416 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6693898 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |