JP2015064696A - シンボリック実行方法、シンボリック実行装置、およびシンボリック実行プログラム - Google Patents
シンボリック実行方法、シンボリック実行装置、およびシンボリック実行プログラム Download PDFInfo
- Publication number
- JP2015064696A JP2015064696A JP2013197540A JP2013197540A JP2015064696A JP 2015064696 A JP2015064696 A JP 2015064696A JP 2013197540 A JP2013197540 A JP 2013197540A JP 2013197540 A JP2013197540 A JP 2013197540A JP 2015064696 A JP2015064696 A JP 2015064696A
- Authority
- JP
- Japan
- Prior art keywords
- node
- file
- symbol variable
- storage unit
- writing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 225
- 230000008569 process Effects 0.000 claims description 183
- 238000010586 diagram Methods 0.000 description 40
- 230000014509 gene expression Effects 0.000 description 28
- 230000006870 function Effects 0.000 description 4
- 230000010365 information processing Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
Description
プログラムは、テキストファイルから値を読込み、読込んだ値をプログラム内で使用するシンボル変数に挿入する場合がある。図3は、対象ファイルへの書込処理または読込処理を有するプログラムの第2の例を示す図である。図3のプログラムはJAVAで記述されている。図3のプログラムにおいて(1)の部分は、シンボリック変数であるaおよびbのデータ型がint型であることを定義している。(2)の部分と(7)の部分とは対応しており、(2)の「try{}」括弧中の処理に例外が発生した場合に(7)の「catch{}」括弧中の処理をおこなう。図3に記載の(3)以降のプログラムの処理に関する詳細は、次に図4の模式図を用いて具体的に説明する。
次に、処理装置100の機能構成について説明する。図5は、処理装置の構成を示す機能ブロック図である。処理装置100は、処理対象のプログラムに含まれるパス条件の正当性を検証することにより、処理対象のプログラムが、指定されたアプリケーションの仕様を満たしているかを確認する。処理装置100は入力部101と、出力部102と、制御部110と、記憶部120とを有する。入力部101は、処理装置100を操作するためのキーボード、マウス等の入力機器である。出力部102は、処理装置100における処理結果を出力するためのモニタ、プリンタ等の出力機器である。
図5に示すように処理装置100の記憶部120はクラス121と、モデルクラス122と、対象ファイル123と、退避ファイル124と、シンボル変数リスト125とを記憶する。さらに、記憶部120はファイル入出力テーブル126と、バックトラック管理テーブル127と、パス条件128とを記憶する。記憶部120は例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、ハードディスクや光ディスクなどの記憶装置に対応する。
図5に示すように、処理装置100の制御部110は作成部111と、判断部112と、格納部113と、取得部114と、実行部115とを有する。処理装置100の制御部110の機能は例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路により実現することができる。また、制御部110の機能は例えば、CPU(Central Processing Unit)が所定のプログラムを実行することで実現することができる。
すなわち、制御部110の各構成は以下の処理をおこなう。図9は、本実施形態に係る実行ツリーの第1の模式図を示す図である。図9において楕円形の図形に付された番号はノード番号を示す。第1の段階において制御部110は、クラス121に基づき実行ツリーを作成する。具体的には、作成部111は、クラス121から複数のモデルクラス122を作成する。次いで、作成部111は、作成された複数のモデルクラス122に基づき、複数のノードで構成される図9の実行ツリーを作成する。
図10は、ファイルへの書込処理または読込処理を有するプログラムの第3の例を示す図である。図10に示されるプログラムは、例えばクラス121である。第1の段階において制御部110は、クラス121に基づき実行ツリーを作成する。まず、作成部111は、当該プログラムに基づきモデルクラス122を作成する。例えば、作成部111は、図10中の「a値の書込処理1」をモデルクラス122とする。具体的には、作成部111は、「DataOutputStream」メソッドと「readInt」メソッドとを一つのモデルクラス122とする。次いで、作成部111は、作成された複数のモデルクラス122に基づき、複数のノードで構成される実行ツリーを作成する。図11は、本実施形態に係る実行ツリーの第2の模式図を示す図である。作成部111は、例えば図11に示された実行ツリーを作成する。なお、図11の実行ツリーを構成する各ノードは図9の実行ツリーに対応している。
次に、処理装置100における処理の流れについて説明する。図17は、各ノードにおける処理の流れの一例を示したフロー図である。まず、作成部111は、クラス121から複数のモデルクラス122を作成する(ステップS30)。次いで、格納部113および取得部114は、あるノードにおいて対象ファイル123への入出力処理があるか否かを判定する(ステップS31)。
上記実施態様においては、作成部111は、書込処理、読込処理、演算処理等のように1または複数のメソッドを含むノードを設定した。これに限られず、作成部111はノードに含まれるメソッド数を変更してもよい。
図9において格納部113が、ノード6からノード3にバックトラックした後、ノード7で書込処理をおこなう場合について説明する。格納部113は、ノード7において書込処理を実行する前に、ノード3に対応する退避ファイル124を対象ファイル123に反映させる。すなわち、格納部113は、退避ファイル124の内容を対照ファイル123に上書きする等して、対象ファイル123の内容を退避ファイル124の内容に一致させる。そして、格納部113は、対象ファイル123に対して書込処理を実行する。これにより、バックトラック後に探索する別経路のノードにおいて適切に書込処理をすることができるという効果が得られる。
図18は、処理装置のハードウェア構成を示す図である。図18が示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータ入力を受け付ける入力装置202と、モニタ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る媒体読取装置204と、他の装置と接続するためのインターフェース装置205と、他の装置と無線により接続するための無線通信装置206とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM(Random Access Memory)207と、ハードディスク装置208とを有する。また、各装置201〜208は、バス209に接続される。
第一のノードで第一のファイルに対して、該第一のノードで使用されたシンボリック変数に格納された値または所定の値を書き込む書込処理を実行する際に、前記第一のファイルを複製した第二のファイルを記憶部に格納し、
前記第一のノードを経由する第一の経路から前記第一のノードにバックトラックして、前記第一のノードを経由する第二の経路に移行する際に、該第二の経路で最初に前記第一のファイルからシンボル変数に挿入する値を読み込む読込処理を実行する第二のノードにおいて、前記読込処理を実行する際に前記第二のファイルからシンボル変数値を取得する
処理を実行することを特徴とするシンボリック実行方法。
前記第二の経路で最初に前記第一のファイルにシンボリック変数に格納された値または所定の値を書き込む書込処理を実行する第二のノードにおいて、前記第一のファイルに対して前記シンボリック変数に格納された値または前記所定の値を書き込む処理を、さらに実行することを特徴とする付記1に記載のシンボリック実行方法。
第一のノードで前記第一のファイルに対して、該第一のノードで使用されたシンボリック変数に格納された値または所定の値を書き込む書込処理を実行する際に、前記第一のファイルを複製した第二のファイルを前記記憶部に格納する格納部と、
前記第一のノードを経由する第一の経路から前記第一のノードにバックトラックして、前記第一のノードを経由する第二の経路に移行する際に、該第二の経路で最初に前記第一のファイルからシンボル変数に挿入する値を読み込む読込処理を実行する第二のノードが、前記読込処理を実行する際に前記第二のファイルからシンボル変数値を取得する取得部と
を有することを特徴とするシンボリック実行装置。
第一のノードで第一のファイルに対して、該第一のノードで使用されたシンボリック変数に格納された値または所定の値を書き込む書込処理を実行する際に、前記第一のファイルを複製した第二のファイルを記憶部に格納し、
前記第一のノードを経由する第一の経路から前記第一のノードにバックトラックして、前記第一のノードを経由する第二の経路に移行する際に、該第二の経路で最初に前記第一のファイルからシンボル変数に挿入する値を読み込む読込処理を実行する第二のノードが、前記読込処理を実行する際に前記第二のファイルからシンボル変数値を取得する
処理を実行させることを特徴とするシンボリック実行プログラム。
101 入力部
102 出力部
110 制御部
111 作成部
112 判断部
113 格納部
114 取得部
115 実行部
120 記憶部
121 クラス
122 モデルクラス
123 対象ファイル
124 退避ファイル
125 シンボル変数リスト
126 ファイル入出力テーブル
127 バックトラック管理テーブル
128 パス条件
Claims (6)
- コンピュータが、
第一のノードで作成した第一のファイルに対して、他ノードにおいて該第一のノードで使用されたシンボリック変数に格納された値または所定の値を書き込む書込処理を実行する際に、前記第一のファイルを複製した第二のファイルを記憶部に格納し、
前記第一のノードを経由する第一の経路から前記第一のノードにバックトラックして、前記第一のノードを経由する第二の経路に移行する際に、該第二の経路で最初に前記第一のファイルからシンボル変数に挿入する値を読み込む読込処理を実行する第二のノードにおいて、前記読込処理を実行する際に前記第二のファイルからシンボル変数値を取得する
処理を実行することを特徴とするシンボリック実行方法。 - 前記第一のノードを経由する第一の経路から前記第一のノードにバックトラックして、前記第一のノードを経由する第二の経路に移行する際に、前記第二のファイルを前記第一のファイルに反映し、
前記第二の経路で最初に前記第一のファイルにシンボリック変数に格納された値または所定の値を書き込む書込処理を実行する第二のノードにおいて、前記第一のファイルに対して前記シンボリック変数に格納された値または前記所定の値を書き込む処理を、さらに実行することを特徴とする請求項1に記載のシンボリック実行方法。 - 前記書込処理において書き込む内容にシンボル変数が含まれているか否か、または前記読込処理において読み込む内容にシンボル変数が含まれているか否かを判断する処理をさらに実行することを特徴とする請求項1又は2に記載のシンボリック実行方法。
- 前記第一の経路上にある前記第一のノードの子ノードから前記第一のノードにバックトラックする際に、前記記憶部に格納されており、前記子ノードに対応する前記第二のファイルを削除することを特徴とする請求項1〜3のいずれか一に記載のシンボリック実行方法。
- 各ノードにおいてシンボリック変数に格納された値または所定の値を書き込む書込処理が実行された第一のファイルと、前記書込処理を実行する前の前記第一のファイルを複製した第二のファイルとを記憶する記憶部と、
第一のノードで作成された前記第一のファイルに対して、他ノードにおいて該第一のノードで使用されたシンボリック変数に格納された値または所定の値を書き込む書込処理を実行する際に、前記第一のファイルを複製した第二のファイルを前記記憶部に格納する格納部と、
前記第一のノードを経由する第一の経路から前記第一のノードにバックトラックして、前記第一のノードを経由する第二の経路に移行する際に、該第二の経路で最初に前記第一のファイルからシンボル変数に挿入する値を読み込む読込処理を実行する第二のノードが、前記読込処理を実行する際に前記第二のファイルからシンボル変数値を取得する取得部と
を有することを特徴とするシンボリック実行装置。 - コンピュータに、
第一のノードで作成された第一のファイルに対して、他ノードにおいて該第一のノードで使用されたシンボリック変数に格納された値または所定の値を書き込む書込処理を実行する際に、前記第一のファイルを複製した第二のファイルを記憶部に格納し、
前記第一のノードを経由する第一の経路から前記第一のノードにバックトラックして、前記第一のノードを経由する第二の経路に移行する際に、該第二の経路で最初に前記第一のファイルからシンボル変数に挿入する値を読み込む読込処理を実行する第二のノードが、前記読込処理を実行する際に前記第二のファイルからシンボル変数値を取得する
処理を実行させることを特徴とするシンボリック実行プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013197540A JP6201567B2 (ja) | 2013-09-24 | 2013-09-24 | シンボリック実行方法、シンボリック実行装置、およびシンボリック実行プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013197540A JP6201567B2 (ja) | 2013-09-24 | 2013-09-24 | シンボリック実行方法、シンボリック実行装置、およびシンボリック実行プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015064696A true JP2015064696A (ja) | 2015-04-09 |
JP6201567B2 JP6201567B2 (ja) | 2017-09-27 |
Family
ID=52832527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013197540A Expired - Fee Related JP6201567B2 (ja) | 2013-09-24 | 2013-09-24 | シンボリック実行方法、シンボリック実行装置、およびシンボリック実行プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6201567B2 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01129333A (ja) * | 1987-11-16 | 1989-05-22 | Hitachi Vlsi Eng Corp | 半導体記憶装置 |
JPH05108388A (ja) * | 1991-10-16 | 1993-04-30 | Toshiba Corp | プロセス復旧方式 |
JP2001166966A (ja) * | 1999-12-09 | 2001-06-22 | Hitachi Software Eng Co Ltd | デバッガにおける被テストプログラムの実行環境管理方法 |
JP2013156961A (ja) * | 2012-01-31 | 2013-08-15 | Fujitsu Ltd | 生成装置、生成プログラム、および生成方法 |
-
2013
- 2013-09-24 JP JP2013197540A patent/JP6201567B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01129333A (ja) * | 1987-11-16 | 1989-05-22 | Hitachi Vlsi Eng Corp | 半導体記憶装置 |
JPH05108388A (ja) * | 1991-10-16 | 1993-04-30 | Toshiba Corp | プロセス復旧方式 |
JP2001166966A (ja) * | 1999-12-09 | 2001-06-22 | Hitachi Software Eng Co Ltd | デバッガにおける被テストプログラムの実行環境管理方法 |
JP2013156961A (ja) * | 2012-01-31 | 2013-08-15 | Fujitsu Ltd | 生成装置、生成プログラム、および生成方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6201567B2 (ja) | 2017-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10162738B2 (en) | System, method, and computer readable medium for universal software testing | |
CN105144088B (zh) | 元数据与源代码的关联以及基于其的应用和服务 | |
US8707156B2 (en) | Render engine for spreadsheet | |
US9660962B2 (en) | Network-attached storage gateway validation | |
US10698681B2 (en) | Parallel development of a software system | |
CN107122295B (zh) | 测试用例脚本的生成方法和装置 | |
JP6486574B2 (ja) | プログラムコード生成装置、プログラムコード生成方法及びプログラムコード生成プログラム | |
Kuć et al. | Mastering elasticsearch | |
JP6201567B2 (ja) | シンボリック実行方法、シンボリック実行装置、およびシンボリック実行プログラム | |
JP7163966B2 (ja) | 変換方法、変換装置および変換プログラム | |
JP2012088940A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US9824175B1 (en) | Method and system of evaluation of validity of a refinement rule for a hardware emulation | |
JP2006235899A (ja) | Umlモデル作成支援方法及びその装置 | |
JP5578625B2 (ja) | プログラム分析装置、プログラム分析方法、及びプログラム | |
JP6748357B2 (ja) | 解析装置、解析プログラムおよび解析方法 | |
JP2004532483A (ja) | 連立微分方程式における不一致性に関する誤り情報の提供方法 | |
JP2015133031A (ja) | プログラム分析装置及びプログラム分析方法 | |
JP2004532483A5 (ja) | ||
WO2014064545A1 (en) | Maintaining integrity of output of code generators | |
JP2020038482A (ja) | プログラム検証プログラム、プログラム検証方法およびプログラム検証装置 | |
JP2015022356A (ja) | テストシナリオバリエーション生成装置及び方法及びプログラム | |
US8930759B2 (en) | Stream generation | |
JP6556091B2 (ja) | システム仕様検証支援装置及びシステム仕様検証支援方法 | |
JP6699433B2 (ja) | データ管理プログラム、装置、及び方法 | |
JP2012088874A (ja) | プログラムバグ管理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160606 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170310 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170321 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170516 |
|
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: 20170801 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170814 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6201567 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |