JP6693898B2 - テストケース生成方法、計算機及びプログラム - Google Patents
テストケース生成方法、計算機及びプログラム Download PDFInfo
- Publication number
- JP6693898B2 JP6693898B2 JP2017039785A JP2017039785A JP6693898B2 JP 6693898 B2 JP6693898 B2 JP 6693898B2 JP 2017039785 A JP2017039785 A JP 2017039785A JP 2017039785 A JP2017039785 A JP 2017039785A JP 6693898 B2 JP6693898 B2 JP 6693898B2
- Authority
- JP
- Japan
- Prior art keywords
- function
- called
- test case
- value
- input value
- 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
Landscapes
- Debugging And Monitoring (AREA)
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 (6)
- プロセッサとメモリを有する計算機でソースコードのテストケースを生成するテストケース生成方法であって、
前記計算機が、前記ソースコードを読み込む第1のステップと、
前記計算機が、前記ソースコード内の関数情報を解析して、呼出し側関数内の経路を網羅するために必要となる被呼出し側関数の戻り値を解析する第2のステップと、
前記計算機が、前記被呼出し側関数の入力値と出力値を用いて、呼出し側関数内の被呼出し側関数の呼出し箇所に所定の簡略化処理を実施する第3のステップと、
前記計算機が、前記呼出し側関数と被呼出し側関数の全ての関数内の経路を網羅する入力値を所定の順序で生成する第4のステップと、
を含み、
前記第4のステップは、
前記呼出し側関数と被呼出し側関数の呼出し関係に基づいて、前記入力値を生成する順序を決定するステップを含み、前記入力値を生成する順序を、前記被呼出し側関数のうち最下位の関数から前記呼出し側関数へ向けて順次決定することを特徴とするテストケース生成方法。 - 請求項1に記載のテストケース生成方法であって、
前記第3のステップは、
前記簡略化処理として、前記被呼出し側関数の呼出し箇所を、当該被呼出し側関数の入力値と出力値に基づく条件分岐に置き換え、
前記第4のステップは、
前記条件分岐に対して記号実行を実施して入力値を生成することを特徴とするテストケース生成方法。 - プロセッサとメモリを有してソースコードのテストケースを生成する計算機であって、
前記ソースコードを読み込んで、前記ソースコード内の関数情報を解析して、呼出し側関数内の経路を網羅するために必要となる被呼出し側関数の戻り値を解析する関数情報解析部と、
前記被呼出し側関数の入力値と出力値を用いて、呼出し側関数内の被呼出し側関数の呼出し箇所に所定の簡略化処理を実施し、前記呼出し側関数と被呼出し側関数の全ての関数内の経路を網羅する入力値を所定の順序で生成するテストケース生成部と、
前記呼出し側関数と被呼出し側関数の呼出し関係に基づいて、前記入力値を生成する順序を決定する入力値生成順序決定部と、を有し、
前記入力値生成順序決定部は、
前記入力値を生成する順序を、前記被呼出し側関数のうち最下位の関数から前記呼出し側関数へ向けて順次決定することを特徴とする計算機。 - 請求項3に記載の計算機であって、
前記テストケース生成部は、
前記簡略化処理として、前記被呼出し側関数の呼出し箇所を、当該被呼出し側関数の入力値と出力値に基づく条件分岐に置き換え、前記条件分岐に対して記号実行を実施して入力値を生成することを特徴とする計算機。 - プロセッサとメモリを有する計算機を制御するためのプログラムであって、
ソースコードを読み込む第1のステップと、
前記ソースコード内の関数情報を解析して、呼出し側関数内の経路を網羅するために必要となる被呼出し側関数の戻り値を解析する第2のステップと、
前記被呼出し側関数の入力値と出力値を用いて、呼出し側関数内の被呼出し側関数の呼出し箇所に所定の簡略化処理を実施する第3のステップと、
前記呼出し側関数と被呼出し側関数の全ての関数内の経路を網羅する入力値を所定の順序で生成する第4のステップと、を含み、
前記第4のステップは、
前記呼出し側関数と被呼出し側関数の呼出し関係に基づいて、前記入力値を生成する順序を決定するステップを含み、前記入力値を生成する順序を、前記被呼出し側関数のうち最下位の関数から前記呼出し側関数へ向けて順次決定する処理を前記計算機に実行させるためのプログラム。 - 請求項5に記載のプログラムであって、
前記第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 JP2018147114A (ja) | 2018-09-20 |
JP6693898B2 true 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) |
Families Citing this family (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
Also Published As
Publication number | Publication date |
---|---|
JP2018147114A (ja) | 2018-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8726255B2 (en) | Recompiling with generic to specific replacement | |
KR101247062B1 (ko) | 제한적인 호출 규칙을 갖춘 코드의 검사 방법 | |
CN102360334B (zh) | 一种动静态结合的软件安全性测试方法 | |
US20180068121A1 (en) | Automated reverse engineering | |
JP6003699B2 (ja) | テストデータ生成プログラム、方法及び装置 | |
CN112905447B (zh) | 一种区块链虚拟机的测试方法和系统 | |
JP6759851B2 (ja) | プログラム生成プログラム、プログラム生成方法、プログラム生成装置及びコンパイルプログラム | |
US9189372B2 (en) | Trace coverage analysis | |
JP6693898B2 (ja) | テストケース生成方法、計算機及びプログラム | |
CN111240987A (zh) | 移植程序检测方法、装置、电子设备及计算机可读存储介质 | |
JP7410269B2 (ja) | テスト・ベクタを使用した高水準コンストラクトの最適化の自動検証 | |
US9195568B2 (en) | Methods, circuits, apparatus, systems and associated software modules for evaluating code behavior | |
US20170344351A1 (en) | Information processing apparatus, compiling management method, and recording medium | |
CN111880803B (zh) | 一种应用于多平台的软件构建方法及装置 | |
JP6116983B2 (ja) | エントリーポイント抽出装置 | |
Leopoldseder | Simulation-based code duplication for enhancing compiler optimizations | |
JP7059827B2 (ja) | ソースコード生成装置 | |
JP5464673B2 (ja) | コンパイル支援装置、コンパイル支援方法、及びプログラム | |
JP7338778B2 (ja) | プログラム、命令生成方法及び命令生成装置 | |
JP5343840B2 (ja) | プログラムの解析装置及び解析方法 | |
JP2022011264A (ja) | ソフトウェア開発支援装置及びソフトウェア開発支援方法 | |
Higo | Identifying Refactoring-Oriented Clones and Inferring How They Can Be Merged | |
Husák et al. | Handling heap data structures in backward symbolic execution | |
Staron et al. | Improving Quality of Code Review Datasets–Token-Based Feature Extraction Method | |
JP6447358B2 (ja) | ソースコード生成プログラム、ソースコード生成方法およびコンピュータ |
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 |