JP6003699B2 - テストデータ生成プログラム、方法及び装置 - Google Patents
テストデータ生成プログラム、方法及び装置 Download PDFInfo
- Publication number
- JP6003699B2 JP6003699B2 JP2013022950A JP2013022950A JP6003699B2 JP 6003699 B2 JP6003699 B2 JP 6003699B2 JP 2013022950 A JP2013022950 A JP 2013022950A JP 2013022950 A JP2013022950 A JP 2013022950A JP 6003699 B2 JP6003699 B2 JP 6003699B2
- Authority
- JP
- Japan
- Prior art keywords
- path condition
- path
- simplified
- condition
- symbol variable
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Description
(1a)シンボル変数が関係しない部分式の値を、当該部分式を計算した結果に変換する。
(2)(1)を実施後falseに変換された原子論理式があれば、簡約化パス条件をfalseとする。
(3)(1)及び(2)を実施後falseにならなかった簡約化パス条件については、trueに変換された原子論理式を除去したものを簡約化パス条件とする。
シンボリック実行を繰り返し行うことにより得られる複数のパス条件の各々について、当該パス条件に含まれるシンボル変数の一部に固定値を代入することにより当該パス条件を簡約化した簡約化パス条件を生成し、
生成された複数の簡約化パス条件の各々について、当該簡約化パス条件を満たすシンボル変数の値を算出すると共に、算出された当該値と前記固定値と簡約化する前のパス条件とを含むテストデータを生成し
生成された前記テストデータの一部において同じパス条件を含むテストデータが重複しないように削除する
処理をコンピュータに実行させるためのテストデータ生成プログラム。
固定値が代入されない第1のシンボル変数と固定値が代入される第2のシンボル変数との組合せを複数生成する
処理をさらに前記コンピュータに実行させ、
前記簡約化パス条件を生成する処理において、
当該複数の組合せの各々についてシンボリック実行を行う
ことを特徴とする付記1記載のテストデータ生成プログラム。
前記簡約化パス条件を生成する処理において、
前記パス条件に含まれる前記第2のシンボル変数について、前記パス条件に含まれる少なくともいずれかの論理式が成立しないか判定し、
前記パス条件に含まれる論理式がいずれも成立すると判定された場合に、前記パス条件に含まれる前記第2のシンボル変数に固定値を代入することにより簡約化した簡約化パス条件を生成する
ことを特徴とする付記2記載のテストデータ生成プログラム。
前記固定値は、シンボリック実行の対象になるプログラムにおいて宣言されているシンボル変数の型に従う値である
ことを特徴とする付記1乃至3のいずれか1つ記載のテストデータ生成プログラム。
シンボリック実行を繰り返し行うことにより得られる複数のパス条件の各々について、当該パス条件に含まれるシンボル変数の一部に固定値を代入することにより当該パス条件を簡約化した簡約化パス条件を生成し、
生成された複数の簡約化パス条件の各々について、当該簡約化パス条件を満たすシンボル変数の値を算出すると共に、算出された当該値と前記固定値と簡約化する前のパス条件とを含むテストデータを生成し
生成された前記テストデータにおいて同じパス条件を含むテストデータが重複しないように削除する
処理をコンピュータが実行するテストデータ生成方法。
シンボリック実行を繰り返し行うことにより得られる複数のパス条件の各々について、当該パス条件に含まれるシンボル変数の一部に固定値を代入することにより当該パス条件を簡約化した簡約化パス条件を生成する第1処理部と、
生成された複数の簡約化パス条件の各々について、当該簡約化パス条件を満たすシンボル変数の値を算出すると共に、算出された当該値と前記固定値と簡約化する前のパス条件とを含むテストデータを生成する第2処理部と、
生成された前記テストデータにおいて同じパス条件を含むテストデータが重複しないように削除する第3処理部と
を有するテストデータ生成装置。
102 ドライバ格納部 103 変数格納部
104 制御部 105 固定データ計算部
106 実行制御部 107 固定データ格納部
108 変換部 109 代入部
110 簡約化部 111 簡約化データ格納部
112 シンボリック実行部 113 実行エンジン
114 パス条件計算部 115 テスト入力生成部
116 テストケース生成部 117 第1テストケース格納部
118 除去部 119 第2テストケース格納部
Claims (5)
- シンボリック実行を繰り返し行うことにより得られる複数のパス条件の各々について、当該パス条件に含まれるシンボル変数の一部に固定値を代入することにより当該パス条件を簡約化した簡約化パス条件を生成し、
生成された複数の簡約化パス条件の各々について、当該簡約化パス条件を満たすシンボル変数の値を算出すると共に、算出された当該値と前記固定値と簡約化する前のパス条件とを含むテストデータを生成し
生成された前記テストデータの一部において同じパス条件を含むテストデータが重複しないように削除する
処理をコンピュータに実行させるためのテストデータ生成プログラム。 - 固定値が代入されない第1のシンボル変数と固定値が代入される第2のシンボル変数との組合せを複数生成する
処理をさらに前記コンピュータに実行させ、
前記簡約化パス条件を生成する処理において、
当該複数の組合せの各々についてシンボリック実行を行う
ことを特徴とする請求項1記載のテストデータ生成プログラム。 - 前記簡約化パス条件を生成する処理において、
前記パス条件に含まれる前記第2のシンボル変数について、前記パス条件に含まれる少なくともいずれかの論理式が成立しないか判定し、
前記パス条件に含まれる論理式がいずれも成立すると判定された場合に、前記パス条件に含まれる前記第2のシンボル変数に固定値を代入することにより簡約化した簡約化パス条件を生成する
ことを特徴とする請求項2記載のテストデータ生成プログラム。 - シンボリック実行を繰り返し行うことにより得られる複数のパス条件の各々について、当該パス条件に含まれるシンボル変数の一部に固定値を代入することにより当該パス条件を簡約化した簡約化パス条件を生成し、
生成された複数の簡約化パス条件の各々について、当該簡約化パス条件を満たすシンボル変数の値を算出すると共に、算出された当該値と前記固定値と簡約化する前のパス条件とを含むテストデータを生成し
生成された前記テストデータにおいて同じパス条件を含むテストデータが重複しないように削除する
処理をコンピュータが実行するテストデータ生成方法。 - シンボリック実行を繰り返し行うことにより得られる複数のパス条件の各々について、当該パス条件に含まれるシンボル変数の一部に固定値を代入することにより当該パス条件を簡約化した簡約化パス条件を生成する第1処理部と、
生成された複数の簡約化パス条件の各々について、当該簡約化パス条件を満たすシンボル変数の値を算出すると共に、算出された当該値と前記固定値と簡約化する前のパス条件とを含むテストデータを生成する第2処理部と、
生成された前記テストデータにおいて同じパス条件を含むテストデータが重複しないように削除する第3処理部と
を有するテストデータ生成装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013022950A JP6003699B2 (ja) | 2013-02-08 | 2013-02-08 | テストデータ生成プログラム、方法及び装置 |
US14/089,215 US9639454B2 (en) | 2013-02-08 | 2013-11-25 | Computer-readable recording medium storing therein test data generating program, test data generating method, test data generating apparatus and information processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013022950A JP6003699B2 (ja) | 2013-02-08 | 2013-02-08 | テストデータ生成プログラム、方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014153908A JP2014153908A (ja) | 2014-08-25 |
JP6003699B2 true JP6003699B2 (ja) | 2016-10-05 |
Family
ID=51298409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013022950A Active JP6003699B2 (ja) | 2013-02-08 | 2013-02-08 | テストデータ生成プログラム、方法及び装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9639454B2 (ja) |
JP (1) | JP6003699B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9983977B2 (en) * | 2014-02-26 | 2018-05-29 | Western Michigan University Research Foundation | Apparatus and method for testing computer program implementation against a design model |
JP6316120B2 (ja) * | 2014-06-30 | 2018-04-25 | 日立オートモティブシステムズ株式会社 | テストケース生成システム及びテストケースを記録した記録媒体 |
JP6389808B2 (ja) * | 2015-07-10 | 2018-09-12 | 日本電信電話株式会社 | 計算式生成装置、計算式生成方法、及びプログラム |
US10176086B2 (en) * | 2016-10-03 | 2019-01-08 | Fujitsu Limited | Event-driven software test sequence determination |
CN107133174A (zh) * | 2017-05-04 | 2017-09-05 | 浙江路港互通信息技术有限公司 | 测试用例代码自动生成装置与方法 |
US20190129832A1 (en) * | 2017-11-02 | 2019-05-02 | Siemens Aktiengesellschaft | System and method for test data generation for use in model based testing using source code test annotations and constraint solving |
CN112346960B (zh) * | 2019-08-08 | 2023-09-26 | 腾讯科技(深圳)有限公司 | 测试信息存储方法、装置、服务器和存储介质 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6442732B1 (en) * | 1999-04-21 | 2002-08-27 | Lucent Technologies, Inc. | Virtual logic system for solving satisfiability problems using reconfigurable hardware |
US7336713B2 (en) * | 2001-11-27 | 2008-02-26 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding data |
AU2003220269A1 (en) * | 2002-03-14 | 2003-09-29 | Contentguard Holdings, Inc. | Method and apparatus for processing usage rights expressions |
JP2007011477A (ja) | 2005-06-28 | 2007-01-18 | Toshiba Corp | 論理回路動作モデル生成装置及び論理回路動作モデル生成方法 |
US8046746B2 (en) * | 2005-08-04 | 2011-10-25 | Microsoft Corporation | Symbolic execution of object oriented programs with axiomatic summaries |
US7797687B2 (en) * | 2005-08-04 | 2010-09-14 | Microsoft Corporation | Parameterized unit tests with behavioral purity axioms |
US7587636B2 (en) * | 2005-08-04 | 2009-09-08 | Microsoft Corporation | Unit test generalization |
US8533680B2 (en) * | 2005-12-30 | 2013-09-10 | Microsoft Corporation | Approximating finite domains in symbolic state exploration |
US7844951B2 (en) * | 2005-12-30 | 2010-11-30 | Microsoft Corporation | Specification generation from implementations |
US7735027B2 (en) * | 2006-07-07 | 2010-06-08 | Siemens Product Lifecycle Management Software Inc. | Alignment of product representations |
US8347271B1 (en) * | 2007-03-05 | 2013-01-01 | Emc Corporation | Software testing |
US8230409B2 (en) | 2007-09-28 | 2012-07-24 | International Business Machines Corporation | Code optimization when using multiple reader locks and a non-reader lock |
US20090089759A1 (en) | 2007-10-02 | 2009-04-02 | Fujitsu Limited | System and Method for Providing Symbolic Execution Engine for Validating Web Applications |
US8549486B2 (en) * | 2008-04-21 | 2013-10-01 | Microsoft Corporation | Active property checking |
US8131768B2 (en) * | 2008-05-08 | 2012-03-06 | Nec Laboratories America, Inc. | Symbolic program analysis using term rewriting and generalization |
US8468499B2 (en) * | 2009-03-16 | 2013-06-18 | Ntt Docomo, Inc. | Directed testing for property violations |
JP5207314B2 (ja) * | 2009-08-10 | 2013-06-12 | 日本電信電話株式会社 | テストパタン圧縮方法およびテストパタン圧縮システム |
US8694966B2 (en) * | 2010-03-04 | 2014-04-08 | Oracle International Corporation | Identifying test cases to be run after changes to modules of a software application |
US8479171B2 (en) * | 2010-05-24 | 2013-07-02 | Fujitsu Limited | Generating test sets using intelligent variable selection and test set compaction |
JP5505227B2 (ja) * | 2010-09-22 | 2014-05-28 | 富士通株式会社 | 繰返しシンボリック実行方法、プログラム及び装置 |
JP5629239B2 (ja) * | 2011-05-23 | 2014-11-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ソフトウェアの動作をテストする装置及び方法 |
US8666723B2 (en) * | 2011-08-31 | 2014-03-04 | Oregon State Board Of Higher Education On Behalf Of Portland State University | System and methods for generating and managing a virtual device |
US9141354B2 (en) * | 2012-04-23 | 2015-09-22 | Ecole polytechnique fédérale de Lausanne (EPFL) | Advantageous state merging during symbolic analysis |
-
2013
- 2013-02-08 JP JP2013022950A patent/JP6003699B2/ja active Active
- 2013-11-25 US US14/089,215 patent/US9639454B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9639454B2 (en) | 2017-05-02 |
JP2014153908A (ja) | 2014-08-25 |
US20140229918A1 (en) | 2014-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6003699B2 (ja) | テストデータ生成プログラム、方法及び装置 | |
US9424006B2 (en) | Execution optimization of mobile applications | |
US9983984B2 (en) | Automated modularization of graphical user interface test cases | |
JP5786512B2 (ja) | インジェクション攻撃を検出するためのセキュリティ・ソフトウェア・モジュールを検証するためのハイブリッド制約条件の求解 | |
JP5786511B2 (ja) | ソフトウェア・モジュールの仕様要件を検証するためのハイブリッド制約条件の求解 | |
US20130179863A1 (en) | Bug variant detection using program analysis and pattern identification | |
JP6996629B2 (ja) | 検証自動化装置、検証自動化方法、およびプログラム | |
US11068463B2 (en) | System and method for managing log data | |
JP5440287B2 (ja) | シンボリック実行支援プログラム、方法及び装置 | |
JP2018032082A (ja) | プログラム生成プログラム、プログラム生成方法、プログラム生成装置及びコンパイルプログラム | |
JP6481515B2 (ja) | 情報処理装置、コンパイル方法、及びコンパイラプログラム | |
JP5505227B2 (ja) | 繰返しシンボリック実行方法、プログラム及び装置 | |
JP6142724B2 (ja) | テストデータ生成プログラム、方法及び装置 | |
JP6135466B2 (ja) | テストケース抽出プログラム、方法及び装置 | |
JP6116983B2 (ja) | エントリーポイント抽出装置 | |
JP2014127091A (ja) | テストデータ生成方法、プログラム及び装置 | |
JP2018147106A (ja) | プログラム分析装置、プログラム分析方法及びプログラム分析プログラム | |
Dhatchayani et al. | Test Case Generation and Reusing Test Cases for GUI Designed with HTML. | |
JP6693898B2 (ja) | テストケース生成方法、計算機及びプログラム | |
JP6390217B2 (ja) | ソフトウェア変更プログラム、ソフトウェア変更装置、及びソフトウェア変更方法 | |
JP6453685B2 (ja) | 演算制御装置、演算制御方法及び演算制御プログラム | |
JP7059827B2 (ja) | ソースコード生成装置 | |
JP2017142733A (ja) | ドライバ生成プログラム、装置、及び方法 | |
JP2015069220A (ja) | 性能評価プログラム生成装置、方法、及びプログラム | |
JP6974707B2 (ja) | テストプログラム、テスト装置及びテスト方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151007 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160726 |
|
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: 20160809 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160822 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6003699 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |