JP5412995B2 - Database control apparatus, database control method, and database control program in program model checking - Google Patents

Database control apparatus, database control method, and database control program in program model checking Download PDF

Info

Publication number
JP5412995B2
JP5412995B2 JP2009155509A JP2009155509A JP5412995B2 JP 5412995 B2 JP5412995 B2 JP 5412995B2 JP 2009155509 A JP2009155509 A JP 2009155509A JP 2009155509 A JP2009155509 A JP 2009155509A JP 5412995 B2 JP5412995 B2 JP 5412995B2
Authority
JP
Japan
Prior art keywords
state
model checking
program model
database
change
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.)
Expired - Fee Related
Application number
JP2009155509A
Other languages
Japanese (ja)
Other versions
JP2011013792A (en
Inventor
朝子 片山
忠弘 上原
一樹 宗像
芳晴 前田
憲二 大木
翔一朗 藤原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009155509A priority Critical patent/JP5412995B2/en
Publication of JP2011013792A publication Critical patent/JP2011013792A/en
Application granted granted Critical
Publication of JP5412995B2 publication Critical patent/JP5412995B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、プログラムモデル検査において実行環境で使用されるデータベース(以降、DB)を制御する際に用いるバックトラック技術に関する。   The present invention relates to a backtrack technique used when controlling a database (hereinafter referred to as DB) used in an execution environment in program model checking.

プログラムモデル検査を行う場合、検査対象プログラムのプログラムパスにおける各状態を構成する要素のひとつとしてDBに記録されたデータがある。プログラムモデル検査では、DBのレコードに対し検索、参照のみを行うときはDBのデータの状態は変わらないが、作成、更新、削除などを行うとDBの状態に変化がおきる。図10のAに示す例では、状態Aから状態Bに至るパスでDBデータに対して挿入(Insert)を実行し、状態Bから状態Cに至るパスで削除(Delete)を実行する。次に、プログラムモデル検査で状態Bから状態Dに至るパスを実行するために、状態Cから状態BにDBデータを含む実行環境を戻してから、状態Dに至るパスを実行する。この状態Cから状態Bに実行環境を戻すときにバックトラックが必要になる。すなわち、バックトラックはプログラムパスにおける各状態を構成する全ての要素に対して行うが、DBデータに対しても行う必要がある。   When performing a program model check, there is data recorded in the DB as one of the elements constituting each state in the program path of the check target program. In the program model check, the state of the DB data does not change when only searching or referencing the DB record, but the state of the DB changes when creating, updating, or deleting. In the example shown in A of FIG. 10, the DB data is inserted (Insert) in the path from state A to state B, and the deletion (Delete) is performed in the path from state B to state C. Next, in order to execute a path from state B to state D in the program model check, an execution environment including DB data is returned from state C to state B, and then the path to state D is executed. Backtracking is required when returning the execution environment from state C to state B. That is, backtracking is performed for all elements constituting each state in the program path, but it is also necessary to perform it for DB data.

このDBデータのバックトラックを実現する方法には、DBスタブを用いる方法と実際のDBに接続して中身を書き換える方法がある。
DBスタブを使用した場合、予めDBデータのファイルを用意しておき、各状態フェーズにおけるDBデータイメージを保持する。バックトラック時には、スタブプログラムの内部変数として保持し、プログラムモデル検査ツールがもつプログラムの内部変数を戻す仕組みを活用することにより状態を元に戻す。そのためには、DBMS(Data Base Management System)の振る舞いを模倣するスタブを準備しなければならないが、DBMSの機能を持つスタブを作成するには多くの作業時間が発生するという問題がある。また、プログラムモデル検査対象のシステムごとに使うDBMSごとに作成するスタブが変わるため、スタブを使えるようにするにはシステム対象を変更しなければならないという問題もある。さらに、DBMSごとに異なる部分(例えば、データ型の違い、DBMSごとの文法の違い)が存在するため、スタブの仕組みを1つ作成すれば他のシステムでも利用できるとは限らない。
There are two methods for realizing the backtracking of DB data: a method using a DB stub and a method of rewriting contents by connecting to an actual DB.
When a DB stub is used, a DB data file is prepared in advance and a DB data image in each state phase is held. At the time of backtracking, it is held as an internal variable of the stub program, and the state is restored by utilizing a mechanism for returning the internal variable of the program of the program model checking tool. For this purpose, it is necessary to prepare a stub that imitates the behavior of a DBMS (Data Base Management System), but there is a problem that much work time is required to create a stub having a DBMS function. In addition, since a stub created for each DBMS used for each program model checking target system changes, there is also a problem that the system target must be changed to use the stub. Furthermore, since there are different parts for each DBMS (for example, different data types, different grammars for each DBMS), if one stub mechanism is created, it cannot be used in other systems.

そこで、DBスタブを使わないで実際のDBに接続してDBの内容を書き換える提案がされている。
例えば、データベーススナップショットという別の読み取り専用ポイントインタイム(point in time)コピー用のデータベースを用意し、元のデータベースの修正分のみストレージにコピーし、そのポイントインタイムビューを保持する。そして、ユーザエラーが起きてデータ復元が必要になった時に直近のスナップショットをコピーすることで以前の状態に復帰する技術が知られている。ところが、DBに対してバックトラックを実行すると、管理しなければならないスナップショットの数は直近のものだけではなく、状態ツリーのルートに遡って各状態にそれぞれバックトラックを実行しなければならない。そのため、スナップショットの数がプログラムによって非常に大きなものになることがある。
Therefore, a proposal has been made to rewrite the contents of a DB by connecting to an actual DB without using a DB stub.
For example, another read-only point-in-time database called a database snapshot is prepared, and only the modification of the original database is copied to the storage, and the point-in-time view is retained. A technique is known in which when a user error occurs and data restoration is required, the latest snapshot is restored by copying the latest snapshot. However, when backtracking is performed on a DB, the number of snapshots that must be managed is not limited to the most recent one, but backtracking must be performed for each state by going back to the root of the state tree. Therefore, the number of snapshots can be very large depending on the program.

そこで、次のような技術が提案されている。例えば、SQL(Structured Query Language)ログを用いてDBデータを元に戻す方法が知られている。しかし、プログラムモデル検査のように、特定の状態のDBに戻すためにどのようなSQL文を発行すべきかを簡単に解くことはできない。   Therefore, the following techniques have been proposed. For example, a method for restoring DB data using an SQL (Structured Query Language) log is known. However, it is not possible to easily solve what kind of SQL statement should be issued in order to return to a DB in a specific state as in the program model check.

特表2007−524173号公報Special Table 2007-524173 特開2006−244394号公報JP 2006-244394 A 特開2004−348701号公報JP 2004-348701 A 特開平7−160563号公報Japanese Unexamined Patent Publication No. 7-160563 特開2000−10836号公報JP 2000-10836 A

上記のような実情に鑑みてなされたものであり、プログラムモデル検査において実行環境で使用されるDBのデータを復元したい状態へ戻す効率的なバックトラックを行うデータベース制御装置、データベース制御方法、データベース制御プログラムを提供することを目的とする。   A database control apparatus, a database control method, and a database control which are made in view of the above circumstances and perform efficient backtracking to restore a DB data used in an execution environment in a program model check to a state where it is desired to be restored The purpose is to provide a program.

態様のひとつであるプログラムモデル検査装置がプログラムモデル検査を実施する際に実行環境で使用するデータベースを制御するデータベース制御装置データベース制御装置は、記録部、バックトラック管理部を備えている。   A database control apparatus that controls a database used in an execution environment when a program model checking apparatus, which is one aspect, performs a program model checking, includes a recording unit and a backtrack management unit.

記録部は、上記プログラムモデル検査装置から、データベースの変化後の状態を識別する識別番号であるノードIDを有する状態変更通知を受信したときに、該ノードIDに関連付けて、該変化後の状態への遷移経路を示すパス情報と、変化前の状態から該変化後の状態へ遷移する間に該プログラムモデル検査装置から出力された該データベースを制御するコードであるログ情報を状態ツリー管理テーブルに記録する。   When the recording unit receives a state change notification having a node ID, which is an identification number for identifying the state after the change of the database, from the program model checking device, the recording unit associates with the node ID and moves to the state after the change. Record path information indicating the transition path and log information that is a code for controlling the database output from the program model checking device during the transition from the state before the change to the state after the change in the state tree management table To do.

バックトラック管理部は、上記プログラムモデル検査装置から戻り先の状態を示す識別番号である復元先ノードIDを有するバックトラック開始通知を受信したときに、該復元先ノードIDに関連付けて上記状態ツリー管理テーブルに記録されたパス情報とログ情報とに基づいて、上記データベースを該復元先ノードIDが示す状態に戻すバックトラック用コードを生成する。   When receiving a backtrack start notification having a restoration destination node ID that is an identification number indicating a return destination state from the program model checking device, the backtrack management unit associates the state tree management with the restoration destination node ID. Based on the path information and log information recorded in the table, a backtrack code for returning the database to the state indicated by the restoration destination node ID is generated.

プログラムモデル検査において実行環境で使用されるDBのデータを復元したい状態へ戻す効率的なバックトラックを行うことができる。   Efficient backtracking can be performed to return the DB data used in the execution environment to a state in which it is desired to be restored in the program model check.

プログラムモデル検査を行うシステムの装置の構成を示すブロック図である。It is a block diagram which shows the structure of the apparatus of the system which performs a program model check. プログラムモデル検査装置の構成を示すブロック図である。It is a block diagram which shows the structure of a program model inspection apparatus. Aはプログラムモデル検査装置から発行されたSQL文を示す図である。BはSQL文とノードを関連付けたコードを示す図である。A is a figure which shows the SQL sentence issued from the program model checker. B is a diagram showing a code that associates an SQL sentence with a node. データベースの状態の例を示す図である。It is a figure which shows the example of the state of a database. プログラムモデル検査のやり取りを示すフロー図である。It is a flowchart which shows the exchange of a program model test | inspection. プログラムモデル検査のやり取りを示すフロー図である。It is a flowchart which shows the exchange of a program model test | inspection. DBデータ管理部の動作を示すフロー図である。It is a flowchart which shows operation | movement of DB data management part. A〜Eは状態ツリー管理テーブルを示す図である。A to E are diagrams showing state tree management tables. バックトラック管理部の動作を示すフロー図である。It is a flowchart which shows operation | movement of a backtrack management part. 本実施例がコンピュータプログラムとして実現される場合の構成を示す図である。It is a figure which shows the structure in a case where a present Example is implement | achieved as a computer program. A〜Cはデータベースの状態の例を示す図である。AC is a figure which shows the example of the state of a database.

以下図面に基づいて、本発明の実施形態について詳細に説明する。
本実施例は、DBのレコードに対して作成、更新、削除などを行った後にバックトラックが発生した場合、復元したい状態にDBのデータを戻すための効率的な方法を示すものである。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
The present embodiment shows an efficient method for returning DB data to a state to be restored when backtracking occurs after creation, update, deletion, etc. for the DB record.

(構成)
図1はプログラムモデル検査における実行環境で使用されるDBのデータを任意の状態へ戻すバックトラックを実行するデータベース制御装置2を備えるプログラムモデル検査を行うシステムの構成を示す図である。このプログラムモデル検査を行うシステムは、プログラムモデル検査装置1、データベース制御装置2を備えている。
(Constitution)
FIG. 1 is a diagram showing a configuration of a system that performs program model checking, including a database control device 2 that executes backtracking that returns DB data used in an execution environment in program model checking to an arbitrary state. This system for performing program model checking includes a program model checking device 1 and a database control device 2.

プログラムモデル検査装置1は、例えば図2に示すように、検査対象プログラム22に対するモデル検査環境であるドライバ21および、実際に検査対象プログラム22が実行の際に使用するDBMS11(データベース管理システム)などを備えている。プログラムモデル検査装置1は、プログラム中の分岐条件(検査対象プログラム22が保持するデータの変化に加えDBのレコードに対して作成、更新、削除など)が現れるたびにその時の状態を記録する。なお、プログラムモデル検査装置1は、図示しないDBスタブ、ネットワークスタブなども備えていてもよい。   For example, as shown in FIG. 2, the program model checking apparatus 1 includes a driver 21 that is a model checking environment for the inspection target program 22, a DBMS 11 (database management system) that is actually used when the inspection target program 22 is executed. I have. The program model checking apparatus 1 records the state at that time whenever a branch condition in the program (creation, update, deletion, etc. with respect to a DB record in addition to a change in data held by the check target program 22) appears. Note that the program model checking apparatus 1 may also include a DB stub, a network stub, etc. (not shown).

ドライバ21は、クライアント(例えば、検証実行者)の代わりに検査対象プログラム22に対してユーザ操作を模倣した入力データ23を入力する。そして、プログラムモデル検査装置1が、検査対象プログラム22をさまざまなバリエーションで複数回、連続的に呼び出し、プロパティ24に格納されている機能仕様などが満たされているかをチェックする。   The driver 21 inputs input data 23 imitating a user operation to the inspection target program 22 instead of a client (for example, a verification performer). Then, the program model checking device 1 continuously calls the program to be checked 22 with various variations, and checks whether the functional specifications stored in the property 24 are satisfied.

このように、プログラムモデル検査装置1は、検査対象プログラム22とデータをやり取りするDBMS11、DB用スタブ23などに対して網羅的な検査を行う。
データベース制御装置2は、DBデータ管理部3、コード保存部5(DBドライバ追加モジュール4)などを備えている。
As described above, the program model checking apparatus 1 performs a comprehensive check on the DBMS 11 and the DB stub 23 that exchange data with the check target program 22.
The database control device 2 includes a DB data management unit 3, a code storage unit 5 (DB driver addition module 4), and the like.

DBドライバ追加モジュール4はコード保存部5を備え、通常DBデータベースに含まれるDB用ドライバ(例えばJDBC(Java Data Base Connectivity)など)から発行されるコード(例えば、SQL文)をログファイル6に保存する(図3のA)。なお、本例ではSQLを用いているが、リレーショナルデータベースの操作を行なうための言語であればSQLに限定するものではない。検査対象プログラム22が使用するDBMS11によってログファイルを保存できる機能を有しているため、その場合にはコード保存部5の代わりに該機能を用いてもよい。   The DB driver addition module 4 includes a code storage unit 5 and stores a code (for example, an SQL statement) issued from a DB driver (for example, JDBC (Java Data Base Connectivity)) included in the normal DB database in the log file 6. (A in FIG. 3). Although SQL is used in this example, the language is not limited to SQL as long as it is a language for operating a relational database. Since the DBMS 11 used by the inspection target program 22 has a function of storing log files, in that case, the function may be used instead of the code storage unit 5.

状態ツリー管理部7は、各状態に戻るためのパスを把握するために、プログラムモデル検査装置1の状態ツリーと同等の情報を管理する。また、状態ツリー管理部7は、プログラムモデル検査装置1からプログラムパスの分岐と、プログラムの新しい状態を示すノードID(識別番号)を有する状態変更通知を受信する。そして、新しい状態に対応するノードIDに、直前の状態と新しい状態間のパスを関連付けて、後述する状態ツリー管理テーブルに記録する。   The state tree management unit 7 manages information equivalent to the state tree of the program model checking device 1 in order to grasp the path for returning to each state. Further, the state tree management unit 7 receives from the program model checking apparatus 1 a state change notification having a branch of the program path and a node ID (identification number) indicating a new state of the program. Then, the node ID corresponding to the new state is associated with the path between the previous state and the new state and recorded in a state tree management table described later.

ログファイル管理部8は、プログラムモデル検査装置1から状態変更通知を受信すると、SQLログファイル6を読み込み、パス状態が変化するたびに状態遷移間で発行されたSQL文を取得して管理する。ログファイル管理部8は、ログファイル6を読み込み、前回発行された状態変更通知から今回発行された状態変更通知を受信するに至るまでのコード(例えば、SQL文)を抽出し、ノードIDと結びつけて管理する(図3のB)。例えば、図4に示す状態1から状態2に遷移するパスであれば、状態2に対応するノードIDに状態1から状態2に至る間に発行されたSQL文を全て関連付けて記録する。また、状態2から状態3に遷移するパスであれば、状態3に対応するノードIDに状態2から状態3に至る間に発行されたSQL文全てを関連付けて記録する。なお、図4の各状態に割り振った番号はプログラムモデル検査装置1がプログラムモデル検査を行う順番と対応付けられている。   When the log file management unit 8 receives the state change notification from the program model checking device 1, the log file management unit 8 reads the SQL log file 6 and acquires and manages the SQL statement issued between the state transitions whenever the path state changes. The log file management unit 8 reads the log file 6, extracts a code (for example, an SQL statement) from the last issued status change notification to receiving the current status change notification, and associates it with the node ID (B in FIG. 3). For example, in the case of a path transitioning from state 1 to state 2 shown in FIG. 4, all SQL statements issued during the period from state 1 to state 2 are recorded in association with the node ID corresponding to state 2. If the path is a transition from state 2 to state 3, all the SQL statements issued during the period from state 2 to state 3 are recorded in association with the node ID corresponding to state 3. The numbers assigned to the respective states in FIG. 4 are associated with the order in which the program model checking apparatus 1 performs the program model checking.

バックトラック管理部9は、プログラムモデル検査装置1からバックトラックを実行する通知を受信すると、DBMS11を初期状態に戻して目的の状態にするためのDB制御コード(例えば、SQL文)を作成する(詳細は後述する)。
DB制御コード発行部10は、バックトラック管理部9で作成したDB制御コードをDBMS11に発行する。
When the backtrack management unit 9 receives the notification of executing the backtrack from the program model checking device 1, the backtrack management unit 9 creates a DB control code (for example, an SQL statement) for returning the DBMS 11 to the initial state and setting it to a target state ( Details will be described later).
The DB control code issuing unit 10 issues the DB control code created by the backtrack management unit 9 to the DBMS 11.

(動作説明)
図5はプログラムモデル検査装置1、DBデータ管理部3、コード保存部5、検査対象プログラム22、DBMS11の動作を説明するフロー図である。
(Description of operation)
FIG. 5 is a flowchart for explaining the operations of the program model checking apparatus 1, the DB data management unit 3, the code storage unit 5, the inspection target program 22, and the DBMS 11.

ステップS1では、DBデータ管理部3がDBを初期状態にするためのコードを有する検査開始通知をDBMS11に送信する。例えば、DBを初期状態にするSQL文を、DBドライバ追加モジュール4を介して出力する。   In step S <b> 1, the DB data management unit 3 transmits an inspection start notification having a code for setting the DB to an initial state to the DBMS 11. For example, an SQL statement for initializing the DB is output via the DB driver addition module 4.

ステップS2では、DBMS11が初期状態にするためのコードを受信する。ステップS3では、DBMS11がDBを初期状態にする。
ステップS4では、プログラムモデル検査装置1がプログラムモデル検査を開始する。
In step S2, the DBMS 11 receives a code for setting the initial state. In step S3, the DBMS 11 initializes the DB.
In step S4, the program model checking apparatus 1 starts program model checking.

ステップS5では、プログラムモデル検査装置1がコードをコード保存部5とDBMS11へ出力を開始する(図3のA参照)。
ステップS6では、コード保存部5がコードをログファイル6に記録する。また、ステップS7ではDBMS11がコードを受信する。
In step S5, the program model checking device 1 starts outputting the code to the code storage unit 5 and the DBMS 11 (see A in FIG. 3).
In step S6, the code storage unit 5 records the code in the log file 6. In step S7, the DBMS 11 receives the code.

ステップS8では、ログファイル管理部8がログファイル6の読み込みを開始する。
ステップS9では、プログラムモデル検査装置1がDBの状態変化を判定する。例えば、プログラムモデル検査装置1がSQL文に記述されている分岐条件となる挿入(insert)、更新(update)、削除(delete)などを検出する。
In step S8, the log file management unit 8 starts reading the log file 6.
In step S9, the program model checking device 1 determines a change in the state of the DB. For example, the program model checking device 1 detects an insert, an update, a delete, etc., which become branch conditions described in an SQL statement.

ステップS10では、プログラムモデル検査装置1がステップS9で検出した状態変化を後述する状態変更通知をDBデータ管理部3へ送信する。
ステップS11では、DBデータ管理部3が状態変更通知を受信する。DBデータ管理部3は、状態変更通知に基づいてDBの状態に変化があったことを検知する。
In step S10, the program model checking apparatus 1 transmits to the DB data management unit 3 a state change notification to be described later with respect to the state change detected in step S9.
In step S11, the DB data management unit 3 receives a state change notification. The DB data management unit 3 detects that the state of the DB has changed based on the state change notification.

ステップS12では、DBデータ管理部3がコード保存部5からコードを読み込む。
ステップS13では、DBデータ管理部3がコード保存部5から取得したコードと状態を関連付ける(詳細については後述する)。
In step S <b> 12, the DB data management unit 3 reads a code from the code storage unit 5.
In step S13, the DB data management unit 3 associates the code acquired from the code storage unit 5 with the state (details will be described later).

通常時、ステップS4〜ステップS13に示した処理を繰り返し実行し、バックトラックを行う場合にはステップS15に移行する。
ステップS14では、プログラムモデル検査装置1がバックトラックを行うか否かを判定し、バックトラックを行う場合はステップS15に移行する。例えば、プログラムモデル検査装置1が既存の機能によりこれ以上状態が変化しないことを検出する。なお、バックトラックを実行するとき、プログラムモデル検査装置1はプログラムモデル検査を中断する。そして、バックトラック処理が完了したことを検出すると、プログラムモデル検査を再開する。例えば、JPF(Java Pathfinder)などを用いることにより、プログラムモデル検査装置1とデータベース制御装置2の切り替え同期を取る。
In normal times, the processes shown in steps S4 to S13 are repeatedly executed, and when backtracking is performed, the process proceeds to step S15.
In step S14, it is determined whether or not the program model checking apparatus 1 performs backtracking. If backtracking is performed, the process proceeds to step S15. For example, the program model checking device 1 detects that the state does not change any more due to the existing function. Note that when executing backtracking, the program model checking apparatus 1 interrupts the program model checking. Then, when it is detected that the backtrack process is completed, the program model check is resumed. For example, switching synchronization between the program model checking device 1 and the database control device 2 is established by using JPF (Java Pathfinder) or the like.

ステップS15では、プログラムモデル検査装置1が後述するバックトラック開始通知をDBデータ管理部3に送信する。
ステップS16では、バックトラック開始通知をDBデータ管理部3が受信する。
In step S <b> 15, the program model checking device 1 transmits a backtrack start notification described later to the DB data management unit 3.
In step S16, the DB data management unit 3 receives a backtrack start notification.

ステップS17では、DBデータ管理部3がバックトラック処理を実行する(詳細については後述する)。
ステップS18では、DBデータ管理部3がDBMS11のDBを初期状態にするコードを、DBドライバ追加モジュール4を介してDBMS11に送信する。
In step S17, the DB data management unit 3 executes backtrack processing (details will be described later).
In step S <b> 18, the DB data management unit 3 transmits a code for initializing the DB of the DBMS 11 to the DBMS 11 via the DB driver addition module 4.

ステップS19では、DBMS11が初期状態にするコードを受信し、ステップS20でDBMS11がDBを初期状態にする。
ステップS21では、DBデータ管理部3がバックトラック開始通知に示されているDBMS11をロールバックする情報(復元先ノードID)に基づいて生成されたコードを、DBドライバ追加モジュール4を介してDBMS11に送信する。
In step S19, the DBMS 11 receives a code for setting the initial state, and in step S20, the DBMS 11 sets the DB to the initial state.
In step S21, a code generated based on information (restoration destination node ID) for rolling back the DBMS 11 indicated in the backtrack start notification by the DB data management unit 3 is sent to the DBMS 11 via the DB driver addition module 4. Send.

ステップS22では、DBMS11がDBをロールバックするコードを受信し、ステップS23でDBMS11がDBに対して指定された状態にロールバックする指示を出力する。   In step S22, the DBMS 11 receives a code for rolling back the DB, and in step S23, the DBMS 11 outputs an instruction to roll back to the state designated for the DB.

ステップS24では、ステップS22の処理が完了すると、DBデータ管理部3がプログラムモデル検査装置1に対して状態復元終了通知を送信する。状態復元終了通知は、プログラムモデル検査装置1にプログラムモデル検査を再開させるとともに、データベース制御装置2からプログラムモデル検査装置1に動作を切り替える通知である。   In step S24, when the process of step S22 is completed, the DB data management unit 3 transmits a state restoration end notification to the program model checking apparatus 1. The state restoration end notification is a notification for causing the program model checking apparatus 1 to resume program model checking and switching the operation from the database control apparatus 2 to the program model checking apparatus 1.

(DBデータ管理部の動作説明)
図4に示す状態ツリーを持つプログラム状態を想定して、図6に示すフロー図を用い、DBデータ管理部3の動作を説明する。なお、本例ではSQL文をコードとして用いるものとする。
(Description of operation of DB data management unit)
Assuming a program state having the state tree shown in FIG. 4, the operation of the DB data management unit 3 will be described using the flowchart shown in FIG. In this example, an SQL statement is used as a code.

ステップS31では、DBデータ管理部3が、DBMS11のDBを初期状態(図4の状態1)にするためにSQL文をプログラムモデル検査装置1に発行する。例えば、図7のAに示す「delete * from TB1」「delete * from TB5」などを発行する。初期状態にするSQL文は、予めユーザ(検証実行者)が状態ツリー管理テーブルに記録する。また、「TB1」「TB5」はDBMS11にも受けられているテーブルなどである。   In step S31, the DB data management unit 3 issues an SQL statement to the program model checking apparatus 1 in order to set the DB of the DBMS 11 to an initial state (state 1 in FIG. 4). For example, “delete * from TB1” and “delete * from TB5” shown in A of FIG. 7 are issued. The SQL statement to be in the initial state is recorded in advance in the state tree management table by the user (verification performer). “TB1” and “TB5” are tables received by the DBMS 11.

なお、図7のA〜Eに示す状態ツリー管理テーブルは、「ノードID」「パス」「SQL」を記録するセルを有し、「ノードID」にはプログラムモデル検査装置1から通知される状態を示す識別番号を記録する。「パス」には「ノードID」に関連付けられ、分岐点の状態と遷移した状態を示す内容(パス情報)を記録する。例えば、状態2から状態3への分岐であれば「2→3」のように記録する。「SQL」には、「ノードID」に関連付けられ、分岐(状態遷移)が検出されるまでに発行されたSQL文が記録される。   Note that the state tree management tables shown in A to E of FIG. 7 have cells that record “node ID”, “path”, and “SQL”, and the state notified from the program model checking apparatus 1 to “node ID”. The identification number indicating is recorded. In “path”, contents (path information) associated with the “node ID” and indicating the state of the branch point and the transition state are recorded. For example, if it is a branch from state 2 to state 3, it is recorded as “2 → 3”. In “SQL”, an SQL statement that is associated with the “node ID” and issued until a branch (state transition) is detected is recorded.

ステップS32では、DBデータ管理部3が、プログラムモデル検査装置1からDBドライバ追加モジュール4を介して検査開始通知(再開時にも通知される)を受信する。検査開始通知は、プログラムモデル検査装置1が検査を開始もしくは再開するときに発行される情報である(図6のA参照)。   In step S <b> 32, the DB data management unit 3 receives an inspection start notification (also notified at the time of resumption) from the program model inspection device 1 via the DB driver addition module 4. The inspection start notification is information issued when the program model inspection apparatus 1 starts or restarts inspection (see A in FIG. 6).

ステップS33では、コード保存部5がDBMS11から発行されるSQL文をログファイル6へ記録する。図3のAにDBMS11から発行されるSQL文の例を示す。
ステップS34(状態ツリー管理処理)では、状態ツリー管理部7がプログラムモデル検査装置1からDBドライバ追加モジュール4を介して状態変更通知を受信する。状態変更通知は、検査中のプログラムのパスに状態変更があるとき通知され、この通知が状態変更を示す通知であることを示す状態変更コードと、新たな状態を示すノードIDを有している(図6のB参照)。例えば、図4の状態1から状態2(分岐点)への遷移であれば、状態2を示すノードIDとして「2」が通知される。
なお、プログラムモデル検査装置1は、プログラム中の分岐条件が現れるたびにその時の状態を記憶している。
In step S <b> 33, the code storage unit 5 records the SQL statement issued from the DBMS 11 in the log file 6. FIG. 3A shows an example of an SQL sentence issued from the DBMS 11.
In step S34 (state tree management process), the state tree management unit 7 receives a state change notification from the program model checking apparatus 1 via the DB driver addition module 4. The state change notification is notified when there is a state change in the path of the program under inspection, and has a state change code indicating that this notification is a notification indicating a state change and a node ID indicating a new state. (See B in FIG. 6). For example, if the transition is from state 1 to state 2 (branch point) in FIG. 4, “2” is notified as the node ID indicating state 2.
The program model checking device 1 stores the state at that time whenever a branch condition in the program appears.

ステップS35(ログファイル管理処理)では、ログファイル管理部8がSQL文に状態変更のマークを記録する。図3のBにDBMS11から発行されるSQL文の例を示す。図3のBの例ではマークとして[初期状態]、[ノードID2]〜[ノードID6]を記述している。なお、本例ではコメント記号「/*」「*/」を用いマークをコメント文として扱っている。   In step S35 (log file management process), the log file management unit 8 records a status change mark in the SQL statement. FIG. 3B shows an example of an SQL sentence issued from the DBMS 11. In the example of FIG. 3B, [initial state] and [node ID 2] to [node ID 6] are described as marks. In this example, the comment symbols “/ *” and “* /” are used to treat the mark as a comment sentence.

ステップS36(状態ツリー管理処理)では、状態ツリー管理部7では、新たな状態を示す「ノードID」を状態ツリー管理テーブルに追加記録する。例えば、図4の状態1から状態2(分岐点)への遷移であれば、図7のBに示すように状態ツリー管理テーブルの「ノードID」に「2」を追加する。そして、「パス」に「ノードID」の「1」(状態1)から進んでプログラム分岐点である状態2が検出されたことを示す「1→2」を記録する。また、ログファイル管理部8で記録された状態1から状態2に至る間で発行されたSQL文を順番に「SQL」に記録する。   In step S36 (state tree management process), the state tree management unit 7 additionally records a “node ID” indicating a new state in the state tree management table. For example, if the transition is from state 1 in FIG. 4 to state 2 (branch point), “2” is added to “node ID” in the state tree management table as shown in FIG. 7B. Then, “1 → 2” indicating that the state 2 which is a program branch point is detected from “1” (state 1) of “node ID” is recorded in “path”. In addition, the SQL statements issued from the state 1 to the state 2 recorded by the log file management unit 8 are sequentially recorded in “SQL”.

同様に、状態2から状態3、状態3から状態4への遷移についてもステップS33〜S36と同じように処理をする。その結果、図7のB、Cに示す状態ツリー管理テーブルが生成される。   Similarly, the transition from state 2 to state 3 and from state 3 to state 4 is processed in the same manner as steps S33 to S36. As a result, the state tree management tables shown in FIGS. 7B and 7C are generated.

ステップS37〜S39、S41(バックトラック管理処理)、ステップS40(DB制御コード発行処理)によりバックトラック処理を行う。
ステップS37では、バックトラック管理部9がプログラムモデル検査装置1からバックトラック開始通知を受信し、バックトラック開始通知を受信したときステップS38に移行し、受信しないときステップS33に移行する。バックトラック開始通知は、バックトラック開始を示すコードと、復元先の状態を示す識別番号である復元先ノードIDを有している。例えば、図4において状態4までプログラムが進むと直近のプログラム分岐状態3に戻るバックトラック開始通知を、バックトラック管理部9がプログラムモデル検査装置1から受信する。
Backtrack processing is performed in steps S37 to S39, S41 (backtrack management processing), and step S40 (DB control code issuance processing).
In step S37, the backtrack management unit 9 receives a backtrack start notification from the program model checking device 1. When the backtrack start notification is received, the process proceeds to step S38, and when not received, the process proceeds to step S33. The backtrack start notification has a code indicating the start of backtracking and a restoration destination node ID which is an identification number indicating the status of the restoration destination. For example, when the program advances to state 4 in FIG. 4, the backtrack management unit 9 receives from the program model checking apparatus 1 a backtrack start notification that returns to the latest program branch state 3.

ステップS38では、バックトラック管理部9が復元先ノードIDを取得する。
ステップS39では、バックトラック管理部9が状態ツリー管理テーブルから復元先ノードIDに示されたノードIDを検索し、初期状態から復元先ノードIDに示された状態に至るまでのパスとSQL文を全て抽出する。そして、抽出したSQL文をパスの順序と逆に並べ替えてSQL文(DB制御コード)を生成してDB制御コード発行部10に送信する。
In step S38, the backtrack management unit 9 acquires a restoration destination node ID.
In step S39, the backtrack management unit 9 retrieves the node ID indicated by the restoration destination node ID from the state tree management table, and obtains the path and the SQL sentence from the initial state to the state indicated by the restoration destination node ID. Extract all. Then, the extracted SQL sentence is rearranged in the reverse order of the path to generate an SQL sentence (DB control code) and transmits it to the DB control code issuing unit 10.

ステップS40(DB制御コード発行処理)では、DB制御コード発行部10がステップS39で生成したSQL文を順番にDBMS11に発行する。
ステップS41では、バックトラック管理部9がプログラムモデル検査装置1に状態復元終了通知を送信する。
In step S40 (DB control code issuance process), the DB control code issuing unit 10 issues the SQL statements generated in step S39 to the DBMS 11 in order.
In step S41, the backtrack management unit 9 transmits a state restoration end notification to the program model checking apparatus 1.

図4の場合であれば、DBデータバックトラック部2は、状態4までプログラムが進むと、「ノードID」の「3」が示す状態3からプログラムモデル検査装置1が実行され、状態5とその間に発行されたSQL文を状態ツリー管理テーブルに記録する。   In the case of FIG. 4, when the program proceeds to the state 4, the DB data backtrack unit 2 executes the program model checking apparatus 1 from the state 3 indicated by “3” of the “node ID”. The SQL statement issued in step 1 is recorded in the state tree management table.

状態5までプログラムが進むと直近のプログラム分岐状態2に戻るようにプログラムモデル検査装置1から通知を受け取る。そのため状態2に戻るためのバックトラックの処理に移る。   When the program advances to state 5, a notification is received from program model checking apparatus 1 so as to return to the latest program branch state 2. Therefore, the process proceeds to backtrack processing for returning to state 2.

次に、DB制御コード発行部10がSQL文を発行して、DBMS11を状態2に戻す。
次に、図4の状態2からプログラムモデル検査装置1が実行され、状態2から状態6の間に発行されたSQL文が状態ツリー管理テーブルの「SQL」に記録される。
Next, the DB control code issuing unit 10 issues an SQL statement and returns the DBMS 11 to the state 2.
Next, the program model checking apparatus 1 is executed from the state 2 in FIG. 4, and the SQL statement issued between the state 2 and the state 6 is recorded in “SQL” of the state tree management table.

なお、プログラムモデル検査装置1からコード(SQL文)が出力されるのは、プログラムモデル検査装置1の検査対象プログラム22が動作した時のみであるため、バックトラック時はプログラムが動作しない。そのため、検査対象プログラム22からのコード(SQL文など)は無視される。よって、バックトラック時の動作はログファイル6に記録されない。   Note that the code (SQL sentence) is output from the program model checking apparatus 1 only when the inspection target program 22 of the program model checking apparatus 1 is operated, so that the program does not operate during backtracking. Therefore, the code (SQL sentence etc.) from the inspection target program 22 is ignored. Therefore, the operation at the time of backtracking is not recorded in the log file 6.

(バックトラック管理部の動作説明:バックトラック管理処理)
図8はバックトラック管理部9の動作を示すフロー図である。
(Description of operation of the backtrack management unit: backtrack management processing)
FIG. 8 is a flowchart showing the operation of the backtrack management unit 9.

ステップS51では、バックトラック管理部9がプログラムモデル検査装置1からバックトラック開始通知を受信するまで待機する。例えば、図4に示した状態4から状態3に戻る場合であれば、状態ツリー管理テーブルには図7のCに示すように「ノードID」の「1」〜「4」に対応する「パス」「SQL」が生成され記録されている。   In step S51, the process waits until the backtrack management unit 9 receives a backtrack start notification from the program model checking apparatus 1. For example, in the case of returning from the state 4 shown in FIG. 4 to the state 3, the state tree management table shows “path” corresponding to “1” to “4” of “node ID” as shown in C of FIG. "SQL" is generated and recorded.

ステップS52では、バックトラック管理部9がプログラムモデル検査装置1からバックトラック開始通知を受信する。例えば、バックトラック開始通知は、図8のAに示すように、バックトラック開始を示すコード(「startコード」)、復元先ノードID(復元先の状態を示す識別番号)を有している。図4に示す状態3にプログラムモデル検査が戻る場合であれば、復元先ノードIDとして「3」がプログラムモデル検査装置1から送信され、バックトラック管理部9が復元先ノードIDに基づいて状態3へバックトラックすることを認識する。   In step S <b> 52, the backtrack management unit 9 receives a backtrack start notification from the program model checking device 1. For example, as shown in FIG. 8A, the backtrack start notification includes a code indicating the start of backtracking (“start code”) and a recovery destination node ID (an identification number indicating the status of the recovery destination). If the program model check returns to the state 3 shown in FIG. 4, “3” is transmitted from the program model checking apparatus 1 as the restoration destination node ID, and the backtrack management unit 9 performs the state 3 based on the restoration destination node ID. Recognize backtracking to

ステップS53では、バックトラック管理部9が状態ツリー管理テーブルから復元先ノードIDに対応する「ノードID」を検索する。例えば、復元先ノードIDが「3」であれば、図7のCの状態ツリー管理テーブルの中から「ノードID」が「3」である行を探索する。そして、探索結果である「3」を記録部に記録する(図8のB)。   In step S53, the backtrack management unit 9 searches the state tree management table for the “node ID” corresponding to the restoration destination node ID. For example, if the restoration destination node ID is “3”, the row having the “node ID” of “3” is searched from the state tree management table of FIG. Then, “3” as a search result is recorded in the recording unit (B in FIG. 8).

ステップS54〜S56では、バックトラック管理部9が初期状態を示す「ノードID」から復元先ノードに対応する状態に至るまでのパスを抽出する。
ステップS54では、バックトラック管理部9が、復元先ノードに対応する「ノードID」に関連付けられている「パス」を抽出する。また、ステップS56で検出された「ノードID」に対応する「パス」を抽出する。
In steps S54 to S56, the backtrack management unit 9 extracts a path from the “node ID” indicating the initial state to the state corresponding to the restoration destination node.
In step S54, the backtrack management unit 9 extracts the “path” associated with the “node ID” corresponding to the restoration destination node. Further, the “path” corresponding to the “node ID” detected in step S56 is extracted.

ステップS55では、バックトラック管理部9が、抽出した「パス」に前のノードID(前状態)に初期状態が示されているかを判定し、初期状態を示していればステップS57に移行し、初期状態を示していない場合にはステップS56に移行する。例えば、図7の場合であれば「ノードID」の「1」が図4の状態1である初期状態を示しているので、「パス」に記録されている「1→2」を検出したときステップS57に移行する。   In step S55, the backtrack management unit 9 determines whether the initial state is indicated in the previous node ID (previous state) in the extracted “path”. If the initial state is indicated, the process proceeds to step S57. If the initial state is not indicated, the process proceeds to step S56. For example, in the case of FIG. 7, since “1” of “node ID” indicates the initial state which is state 1 of FIG. 4, when “1 → 2” recorded in “path” is detected. Control goes to step S57.

ステップS56では、バックトラック管理部9が、記録した「パス」の前のノードIDに対応する「ノードID」を、状態ツリー管理テーブルから抽出する。   In step S56, the backtrack management unit 9 extracts the “node ID” corresponding to the node ID before the recorded “path” from the state tree management table.

図4の状態4から状態3へバックトラックする場合について説明する。
ステップS54では図8のCに示すように、「ノードID」の「3」に関連付けられている「パス」である「2→3」を抽出する。各「ノードID」に関連付けられた各「パス」は「A→B」のように示されており、Bは同じレコードに関連付けられている「ノードID」を示し、AはBに示される「ノードID」に辿り着く前のノードIDを示している。
The case of backtracking from state 4 to state 3 in FIG. 4 will be described.
In step S54, as shown in C of FIG. 8, “2 → 3” that is “path” associated with “3” of “node ID” is extracted. Each “path” associated with each “node ID” is indicated as “A → B”, B indicates a “node ID” associated with the same record, and A is indicated by “B”. The node ID before reaching the “node ID” is shown.

例えば、ステップS55において「2→3」の前のノードIDが「2」であるので、前の状態が初期状態ではないためステップ56に移行する(ステップS5:1回目)。
ステップ56では、ステップS55で記録した図8のCに示すノードID(1回目)のパス「2→3」から前のノードIDである「2」を抽出する(図8のE)。
For example, since the node ID before “2 → 3” is “2” in step S55, the previous state is not the initial state, and the process proceeds to step 56 (step S5: first time).
In step 56, the previous node ID “2” is extracted from the path “2 → 3” of the node ID (first time) shown in C of FIG. 8 recorded in step S55 (E in FIG. 8).

ステップS54では、図8のCに示すように、「ノードID」の「2」に関連付けられている「パス」である「1→2」を抽出する。
次に、ステップS55では、「1→2」の前のノードIDが「1」であるので、初期状態と判定してステップ57に移行する(ステップS55:図8のDの2回目)。
In step S54, as shown in C of FIG. 8, “1 → 2” that is “path” associated with “2” of “node ID” is extracted.
Next, in step S55, since the node ID before “1 → 2” is “1”, it is determined as the initial state, and the process proceeds to step 57 (step S55: second time of D in FIG. 8).

上記のようにして、バックトラック管理部9が初期状態を示す「ノードID」から復元先ノードに対応する状態に至るまでのパス(状態1→状態2→状態3)を抽出する。
ステップS57では、バックトラック管理部9が、記録した「パス」に関連付けられた「ノードID」に対応する「SQL」にあるSQL文を状態ツリー管理テーブルから抽出する。例えば、図8のFに示すように「ノードID」の「3」に対応するSQL文、「ノードID」の「2」に対応するSQL文、「ノードID」の「1」(初期状態)のSQL文を状態ツリー管理テーブルから抽出する。
As described above, the backtrack management unit 9 extracts the path (state 1 → state 2 → state 3) from the “node ID” indicating the initial state to the state corresponding to the restoration destination node.
In step S57, the backtrack management unit 9 extracts the SQL sentence in “SQL” corresponding to the “node ID” associated with the recorded “path” from the state tree management table. For example, as shown in F of FIG. 8, an SQL sentence corresponding to “3” of “node ID”, an SQL sentence corresponding to “2” of “node ID”, and “1” of “node ID” (initial state) Are extracted from the state tree management table.

ステップS58では、バックトラック管理部9が、ステップS59で抽出したSQL文をパスの順序と逆に並べ替え、その順序でDB制御コード発行部10に送信する。例えば、図8のGに示すように「ノードID」の「1」(初期状態)に対応するSQL文、「ノードID」の「2」のに対応するSQL文、「ノードID」の「3」のに対応するSQL文を並べ替えてDB制御コード発行部10に送信する。   In step S58, the backtrack management unit 9 rearranges the SQL statements extracted in step S59 in the reverse order of the paths, and transmits them to the DB control code issuing unit 10 in that order. For example, as shown in FIG. 8G, an SQL sentence corresponding to “1” (initial state) of “node ID”, an SQL sentence corresponding to “2” of “node ID”, and “3” of “node ID” ] Are rearranged and transmitted to the DB control code issuing unit 10.

なお、DB制御コード発行部10は受信したSQL文を順番にプログラムモデル検査装置1のDBMS11に発行する。そして、プログラムモデル検査装置1は、SQL文に基づいてDBの状態を復元する。   The DB control code issuing unit 10 issues the received SQL statements to the DBMS 11 of the program model checking device 1 in order. Then, the program model checking device 1 restores the DB state based on the SQL sentence.

ステップS59では、バックトラック管理部9が、復元先ノードIDが示す状態にするための全てのSQL文を、DBMS11に復元終了したことを通知(状態復元終了通知)する。   In step S59, the backtrack management unit 9 notifies the DBMS 11 that all the SQL statements for making the state indicated by the restoration destination node ID have been restored (status restoration completion notification).

上記のようにバックトラック処理を行うことにより、プログラムモデル検査において実行環境で使用されるDBMS11のデータを復元状態へ戻す効率的なバックトラックを行うことにより、メモリ消費を削減することができる。また、それぞれの状態に至るログを状態ツリー構造として管理し、そこに戻るパスを動的に作成することができる。   By performing backtrack processing as described above, memory consumption can be reduced by performing efficient backtracking to return the data of the DBMS 11 used in the execution environment in the program model check to the restored state. In addition, a log that reaches each state can be managed as a state tree structure, and a path to return to the log can be dynamically created.

また、実際のDBを用いてプログラムモデル検査を実行する場合でも、従来のようなDBデータの各状態をスナップショットで残しておき、それらをプログラムモデル検査パスの持つ状態とリンクして管理する仕組みを必要としない。   In addition, even when program model checking is executed using an actual DB, each state of DB data as in the past is left in a snapshot and managed by linking with the state of the program model checking path Do not need.

また。従来はプログラムモデル検査にDBデータがないとしても、膨大なメモリとCPUの性能が必要である。加えてスナップショットによるメモリ消費が追加されるとプログラムモデル検査の実行そのものに多大な影響を与える。また、コピー用データベースおよびストレージが別途必要になる。また、スナップショットを取るタイミングがデータ変更のタイミングで管理されており、プログラムモデル検査で管理する単位とは異なるため、両者を結びつけて管理する機構が別途必要になる。また、従来はプログラムモデル検査装置内部において動的に作成される状態ツリー情報を管理し、図10のBに示すように全く別の部分木に属する状態に戻る時、その状態が属する部分木を特定し、その状態に至るパスを求めている。   Also. Conventionally, even if there is no DB data in the program model check, a huge memory and CPU performance is required. In addition, if memory consumption due to snapshots is added, the execution of program model checking itself is greatly affected. In addition, a copy database and storage are required separately. In addition, since the timing of taking a snapshot is managed at the timing of data change and is different from the unit managed by the program model check, a mechanism for linking and managing both is required. Conventionally, state tree information dynamically created in the program model checking device is managed, and when returning to a state belonging to a completely different subtree as shown in FIG. Identify and seek the path to that state.

しかし、本例では、図10のBに示すように状態Sから状態Iに戻るためには状態を遡るだけでなく、状態Iが属する部分木を特定してその状態に至るパスを計算する必要がなくなる。また、データスナップショットを取っておくための追加ストレージも不要になる。また、メモリの消費を削減することができる。   However, in this example, in order to return from the state S to the state I as shown in FIG. 10B, it is necessary not only to go back to the state but also to identify the subtree to which the state I belongs and calculate the path to that state. Disappears. In addition, no additional storage is required to store data snapshots. In addition, memory consumption can be reduced.

また、従来は図10のCに示されるように1次元の時間列で表現される状態に戻ることを想定しており、プログラムモデル検査の状態木のように複数の時間列が存在する状態を管理する方法ではない。そのため、プログラムモデル検査ツール内部において動的に作成される複数の時間列が存在する状態ツリー情報を管理するためには、動的に作成されるプログラムモデル検査状態木に連動したDB状態の管理を効率的に行う必要がある。しかし、対象の状態がルートからどのノードを通って達するパスであるか、それら複数のパスの全てを記録可能なデータ構造を持っていなければ、任意の状態へのバックトラックを効率的にSQLログから作成することは難しい。また、ツリー構造を無視して管理をすると、プログラムモデル検査のように状態数が数百から数千など非常に多くなる場合、メモリの消費が多くなるとともに、どのパスを辿れば目的の状態を探し出すことができるかを検索するため、CPUの負荷が大きくなる。   Conventionally, it is assumed that the state returns to a state represented by a one-dimensional time sequence as shown in FIG. 10C, and a state where a plurality of time sequences exist like a state tree of program model checking. It is not a way to manage. Therefore, in order to manage the state tree information in which there are a plurality of time sequences that are dynamically created within the program model checking tool, DB state management linked to the dynamically created program model checking state tree must be performed. It needs to be done efficiently. However, if it does not have a data structure that can record all of the multiple paths through which node the target state passes from the root, it can efficiently log backtrack to any state. It is difficult to create from. Also, if the tree structure is ignored and management is performed, if the number of states is extremely large, such as hundreds to thousands, as in program model checking, memory consumption increases and the path to which the target state is to be traced Since it is searched whether it can be searched, the load of CPU becomes large.

それに対して本例では、バックトラック開始点へのパスを状態ツリーとして管理するため、ノード探索およびそこに至るパス計算が速くなりCPUの負荷を減らすことができる。   On the other hand, in this example, the path to the backtrack start point is managed as a state tree, so that the node search and the calculation of the path to that point are accelerated, and the load on the CPU can be reduced.

また、プログラムモデル検査装置1で発行したコード(SQL文など)を用いるため、DBMS11ごとにプログラムモデル検査装置に変更を加えなくてよい。
なお、本実施例では、プログラムモデル検査装置とデータベース制御装置とが別々の装置である例を示したが、両装置の機能を備えた1台の装置として本発明を構成することも可能である。
Further, since the code (SQL sentence or the like) issued by the program model checking apparatus 1 is used, it is not necessary to change the program model checking apparatus for each DBMS 11.
In the present embodiment, an example in which the program model checking device and the database control device are separate devices is shown, but the present invention can be configured as a single device having the functions of both devices. .

(本実施例がコンピュータプログラムとして実現される場合の構成)
図9は、上記本発明の実施形態の装置を実現できるコンピュータのハードウェア構成の一例を示す図である。
(Configuration when this embodiment is realized as a computer program)
FIG. 9 is a diagram illustrating an example of a hardware configuration of a computer that can implement the apparatus according to the embodiment of the present invention.

コンピュータのハードウェア90は、CPU91、記録部92(ROM、RAM、ハードディスクドライブなど)、記録媒体読取装置93、入出力インタフェース94(入出力I/F)、通信インタフェース95(通信I/F)などを備えている。また、上記各構成部はバス96によってそれぞれ接続されている。   The computer hardware 90 includes a CPU 91, a recording unit 92 (ROM, RAM, hard disk drive, etc.), a recording medium reader 93, an input / output interface 94 (input / output I / F), a communication interface 95 (communication I / F), and the like. It has. Further, each of the components is connected by a bus 96.

CPU91は、記録部92に格納されている上記説明した状態ツリー管理処理、ログファイル管理処理、バックトラック管理処理、DB復元通知発行処理(図5、6、8に示した処理)を実行する。   The CPU 91 executes the above-described state tree management process, log file management process, backtrack management process, and DB restoration notification issuance process (the processes shown in FIGS. 5, 6, and 8) stored in the recording unit 92.

記録部92は、CPU91が実行するプログラムやデータが記録されている。また、ワークエリアなどとして使用される。
記録媒体読取装置93は、CPU91の制御にしたがって記録媒体93aに対するデータのリード/ライトを制御する。そして、記録媒体93a、記録媒体読取装置93の制御で書き込まれたデータを記憶したり、記録媒体93aに記憶されたデータを読み取らせたりする。また、着脱可能な記録媒体93aは、コンピュータで読み取り可能な記録媒体として、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)などがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
The recording unit 92 records programs and data executed by the CPU 91. It is also used as a work area.
The recording medium reading device 93 controls reading / writing of data with respect to the recording medium 93 a according to the control of the CPU 91. And the data written by control of the recording medium 93a and the recording medium reader 93 are memorize | stored, or the data memorize | stored in the recording medium 93a are read. The detachable recording medium 93a includes a magnetic recording device, an optical disk, a magneto-optical recording medium, a semiconductor memory, and the like as a computer-readable recording medium. The magnetic recording device includes a hard disk device (HDD). Examples of the optical disc include a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only Memory), and a CD-R (Recordable) / RW (ReWritable). Magneto-optical recording media include MO (Magneto-Optical disk).

入出力インタフェース94には、入出力装置94a(マウス、キーボード、ディスプレイなど)が接続され、ユーザが入力した情報を受信し、バス96を介してCPU91に送信する。また、CPU91からの命令に従ってディスプレイの画面上に操作情報などを表示する。   An input / output device 94 a (mouse, keyboard, display, etc.) is connected to the input / output interface 94, receives information input by the user, and transmits it to the CPU 91 via the bus 96. In addition, operation information and the like are displayed on the screen of the display according to a command from the CPU 91.

通信インタフェース95は、必要に応じ、他のコンピュータとの間のLAN接続やインターネット接続や無線接続のためのインタフェースである。また、他の装置に接続され、外部装置からのデータの入出力を制御する。   The communication interface 95 is an interface for LAN connection, Internet connection, or wireless connection with another computer as necessary. It is also connected to other devices and controls data input / output from external devices.

このようなハードウェア構成を有するコンピュータを1台または2台以上用いることによって、上記説明した各種処理機能(実施例で説明した処理(フローチャートなど))が実現される。その場合システムが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体93aに記録しておくことができる。   By using one or more computers having such a hardware configuration, the various processing functions described above (the processing described in the embodiments (such as flowcharts)) are realized. In that case, a program describing the processing contents of the functions that the system should have is provided. By executing the program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded in a computer-readable recording medium 93a.

プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。   When distributing the program, for example, a portable recording medium such as a DVD or a CD-ROM in which the program is recorded is sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.

プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、本発明は、上記実施の形態に限定されるものでなく、本発明の要旨を逸脱しない範囲内で種々の改良、変更が可能である。
The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. Further, each time the program is transferred from the server computer, the computer can sequentially execute processing according to the received program.
The present invention is not limited to the above-described embodiment, and various improvements and modifications can be made without departing from the gist of the present invention.

以上実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
プログラムモデル検査装置がプログラムモデル検査を実施する際に実行環境で使用するデータベースを制御するデータベース制御装置であって、
前記プログラムモデル検査装置から、データベースの変化後の状態を識別する識別番号であるノードIDを有する状態変更通知を受信したときに、該ノードIDに関連付けて、該変化後の状態への遷移経路を示すパス情報と、変化前の状態から該変化後の状態へ遷移する間に該プログラムモデル検査装置から出力された該データベースを制御するコードであるログ情報を状態ツリー管理テーブルに記録する記録部と、
前記プログラムモデル検査装置から戻り先の状態を示す識別番号である復元先ノードIDを有するバックトラック開始通知を受信したときに、該復元先ノードIDに関連付けて前記状態ツリー管理テーブルに記録されたパス情報とログ情報とに基づいて、前記データベースを該復元先ノードIDが示す状態に戻すバックトラック用コードを生成するバックトラック管理部と、
を備えることを特徴とするデータベース制御装置。
(付記2)
前記バックトラック管理部は、
初期状態から前記復元先ノードIDに対応する状態に到るまでの遷移経路を示す複数のパス情報に対応する複数のログ情報を、前記状態ツリー管理テーブルから取得し、該ログ情報を並べてバックトラック用コードを生成することを特徴とする付記1に記載のデータベース制御装置。
(付記3)
プログラムモデル検査を行うプログラムモデル検査手段から、データベースの変化後の状態を識別する識別番号であるノードIDを有する状態変更通知を受信したときに、該ノードIDに関連付けて、該変化後の状態への遷移経路を示すパス情報と、変化前の状態から変化後の状態へ遷移する間に該プログラムモデル検査手段から出力された該データベースを制御するコードであるログ情報を状態ツリー管理テーブルに記録する記録手段と、
前記プログラムモデル検査手段から、戻り先の状態を示す識別番号である復元先ノードIDを有するバックトラック開始通知を受信したときに、該復元先ノードIDに関連付けて前記状態ツリー管理テーブルに記録されたパス情報とログ情報に基づいて、前記データベースを該復元先ノードIDが示す状態に戻すバックトラック用コードを生成するバックトラック管理手段と、
を備えることを特徴とするコンピュータ。
(付記4)
プログラムモデル検査装置がプログラムモデル検査を実施する際に実行環境で使用するデータベースのデータベース制御方法であって、
前記プログラムモデル検査装置から、データベースの変化後の状態を識別する識別番号であるノードIDを有する状態変更通知を受信したときに、該ノードIDに関連付けて、該変化後の状態への遷移経路を示すパス情報と、変化前の状態から該変化後の状態へ遷移する間に該プログラムモデル検査装置から出力された該データベースを制御するコードであるログ情報を状態ツリー管理テーブルに記録し、
前記プログラムモデル検査装置から戻り先の状態を示す識別番号である復元先ノードIDを有するバックトラック開始通知を受信したときに、該復元先ノードIDに関連付けて前記状態ツリー管理テーブルに記録されたパス情報とログ情報とに基づいて、前記データベースを該復元先ノードIDが示す状態に戻すバックトラック用コードを生成する、
ことを特徴とするプログラムモデル検査におけるデータベース制御方法。
(付記5)
コンピュータに、
プログラムモデル検査装置から、データベースの変化後の状態を識別する識別番号であるノードIDを有する状態変更通知を受信したときに、該ノードIDに関連付けて、該変化後の状態への遷移経路を示すパス情報と、変化前の状態から該変化後の状態へ遷移する間に該プログラムモデル検査装置から出力された該データベースを制御するコードであるログ情報を状態ツリー管理テーブルに記録する処理と、
前記プログラムモデル検査装置から戻り先の状態を示す識別番号である復元先ノードIDを有するバックトラック開始通知を受信したときに、該復元先ノードIDに関連付けて前記状態ツリー管理テーブルに記録されたパス情報とログ情報とに基づいて、前記データベースを該復元先ノードIDが示す状態に戻すバックトラック用コードを生成するバックトラック管理処理と、
を実行させることを特徴とするプログラムモデル検査におけるデータベース制御プログラム。
(付記6)
初期状態から前記復元先ノードIDに対応する状態に到るまでの遷移経路を示す複数のパス情報に対応する複数のログ情報を、前記状態ツリー管理テーブルから取得し、該ログ情報を並べてバックトラック用コードを生成させることを特徴とする付記4に記載のプログラムモデル検査におけるデータベース制御方法。
(付記7)
コンピュータに、
初期状態から前記復元先ノードIDに対応する状態に到るまでの遷移経路を示す複数のパス情報に対応する複数のログ情報を、前記状態ツリー管理テーブルから取得し、該ログ情報を並べてバックトラック用コードを生成させることを特徴とするプログラムモデル検査におけるデータベース制御プログラム。
Regarding the embodiment including the above-described examples, the following additional notes are further disclosed.
(Appendix 1)
A database control device that controls a database used in an execution environment when the program model checking device performs program model checking,
When a state change notification having a node ID that is an identification number for identifying the state after the change of the database is received from the program model checking device, a transition path to the state after the change is associated with the node ID. A recording unit for recording in the state tree management table log information that is a code for controlling the database output from the program model checking device during the transition from the state before the change to the state after the change ,
The path recorded in the state tree management table in association with the restoration destination node ID when the backtrack start notification having the restoration destination node ID that is an identification number indicating the return destination state is received from the program model checking device A backtrack management unit that generates a backtracking code for returning the database to the state indicated by the restoration destination node ID based on the information and the log information;
A database control apparatus comprising:
(Appendix 2)
The backtrack management unit
A plurality of log information corresponding to a plurality of path information indicating transition paths from the initial state to the state corresponding to the restoration destination node ID is acquired from the state tree management table, and the log information is arranged and backtracked. 2. The database control device according to appendix 1, wherein the code is generated.
(Appendix 3)
When a state change notification having a node ID that is an identification number for identifying the state after the change of the database is received from the program model checking means for performing the program model check, the state is associated with the node ID and changed to the state after the change. Record the path information indicating the transition path and log information, which is a code for controlling the database output from the program model checking means during the transition from the state before the change to the state after the change, in the state tree management table. Recording means;
When a backtrack start notification having a restoration destination node ID, which is an identification number indicating a return destination state, is received from the program model checking means, it is recorded in the state tree management table in association with the restoration destination node ID. Backtrack management means for generating backtracking code for returning the database to the state indicated by the restoration destination node ID based on path information and log information;
A computer comprising:
(Appendix 4)
A database control method for a database used in an execution environment when a program model checking device performs a program model checking,
When a state change notification having a node ID that is an identification number for identifying the state after the change of the database is received from the program model checking device, a transition path to the state after the change is associated with the node ID. And log information that is a code for controlling the database output from the program model checking device during the transition from the state before the change to the state after the change to the state tree management table,
The path recorded in the state tree management table in association with the restoration destination node ID when the backtrack start notification having the restoration destination node ID that is an identification number indicating the return destination state is received from the program model checking device Based on the information and log information, a backtracking code for returning the database to the state indicated by the restoration destination node ID is generated.
A database control method in program model checking characterized by the above.
(Appendix 5)
On the computer,
When a state change notification having a node ID that is an identification number for identifying the state after the change of the database is received from the program model checking device, the transition path to the state after the change is shown in association with the node ID Processing for recording path information and log information that is a code for controlling the database output from the program model checking device during the transition from the state before the change to the state after the change in the state tree management table;
The path recorded in the state tree management table in association with the restoration destination node ID when the backtrack start notification having the restoration destination node ID that is an identification number indicating the return destination state is received from the program model checking device Backtrack management processing for generating a backtracking code for returning the database to the state indicated by the restoration destination node ID based on the information and log information;
A database control program in program model checking characterized by causing
(Appendix 6)
A plurality of log information corresponding to a plurality of path information indicating transition paths from the initial state to the state corresponding to the restoration destination node ID is acquired from the state tree management table, and the log information is arranged and backtracked. The database control method in the program model check according to appendix 4, characterized by generating a code for use.
(Appendix 7)
On the computer,
A plurality of log information corresponding to a plurality of path information indicating transition paths from the initial state to the state corresponding to the restoration destination node ID is acquired from the state tree management table, and the log information is arranged and backtracked. A database control program in program model checking characterized by generating a code for use.

1 プログラムモデル検査装置
2 データベース制御装置
3 DBデータ管理部
4 モジュール
5 コード保存部
6 ログファイル
7 状態ツリー管理部
8 ログファイル管理部
9 バックトラック管理部
10 DB制御コード発行部
21 ドライバ
22 プログラム
23 入力データ
24 プロパティ
31 ドライバ
90 ハードウェア
92 記録部
93 記録媒体読取装置
93a 記録媒体
94 入出力インタフェース
94a 入出力装置
95 通信インタフェース
96 バス
DESCRIPTION OF SYMBOLS 1 Program model inspection apparatus 2 Database control apparatus 3 DB data management part 4 Module 5 Code storage part 6 Log file 7 State tree management part 8 Log file management part 9 Backtrack management part 10 DB control code issuing part 21 Driver 22 Program 23 Input Data 24 Property 31 Driver 90 Hardware 92 Recording unit 93 Recording medium reader 93a Recording medium 94 Input / output interface 94a Input / output device 95 Communication interface 96 Bus

Claims (5)

プログラムモデル検査装置がプログラムモデル検査を実施する際に実行環境で使用するデータベースを制御するデータベース制御装置であって、
前記プログラムモデル検査装置から、データベースの変化後の状態を識別する識別番号であるノードIDを有する状態変更通知を受信したときに、該ノードIDに関連付けて、
該変化後の状態への遷移経路を示すパス情報と、変化前の状態から該変化後の状態へ遷移する間に該プログラムモデル検査装置から出力された該データベースを制御するコードであるログ情報を状態ツリー管理テーブルに記録する記録部と、
前記プログラムモデル検査装置から戻り先の状態を示す識別番号である復元先ノードIDを有するバックトラック開始通知を受信したときに、該復元先ノードIDに関連付けて前記状態ツリー管理テーブルに記録されたパス情報とログ情報とに基づいて、初期状態から復元先ノードIDに対応する状態に到るまでの遷移経路を示す複数のパス情報に対応する複数のログ情報を、状態ツリー管理テーブルから取得し、該ログ情報を記録した順番と逆に並べて、前記データベースを該復元先ノードIDが示す状態に戻すバックトラック用コードを生成するバックトラック管理部と、
を備えることを特徴とするデータベース制御装置。
A database control device that controls a database used in an execution environment when the program model checking device performs program model checking,
When a state change notification having a node ID that is an identification number for identifying the state after the change of the database is received from the program model checking device,
Path information indicating a transition path to the state after the change, and log information that is a code for controlling the database output from the program model checking device during the transition from the state before the change to the state after the change. A recording unit for recording in the state tree management table;
The path recorded in the state tree management table in association with the restoration destination node ID when the backtrack start notification having the restoration destination node ID that is an identification number indicating the return destination state is received from the program model checking device Based on the information and log information, a plurality of log information corresponding to a plurality of path information indicating a transition path from the initial state to a state corresponding to the restoration destination node ID is acquired from the state tree management table, A backtrack management unit that generates a backtracking code for arranging the log information in the reverse order of recording and returning the database to the state indicated by the restoration destination node ID;
A database control apparatus comprising:
前記バックトラック管理部は、
初期状態から前記復元先ノードIDに対応する状態に到るまでの遷移経路を示す複数のパス情報に対応する複数のログ情報を、前記状態ツリー管理テーブルから取得し、該ログ情報を並べてバックトラック用コードを生成することを特徴とする請求項1に記載のデータベース制御装置。
The backtrack management unit
A plurality of log information corresponding to a plurality of path information indicating transition paths from the initial state to the state corresponding to the restoration destination node ID is acquired from the state tree management table, and the log information is arranged and backtracked. The database control device according to claim 1, wherein the database code is generated.
プログラムモデル検査を行うプログラムモデル検査手段から、データベースの変化後の状態を識別する識別番号であるノードIDを有する状態変更通知を受信したときに、該ノードIDに関連付けて、該変化後の状態への遷移経路を示すパス情報と、変化前の状態から変化後の状態へ遷移する間に該プログラムモデル検査手段から出力された該データベースを制御するコードであるログ情報を状態ツリー管理テーブルに記録する記録手段と、
前記プログラムモデル検査手段から、戻り先の状態を示す識別番号である復元先ノードIDを有するバックトラック開始通知を受信したときに、該復元先ノードIDに関連付けて前記状態ツリー管理テーブルに記録されたパス情報とログ情報に基づいて、前記データベースを該復元先ノードIDが示す状態に戻すバックトラック用コードを生成するバックトラック管理手段と、
を備えることを特徴とするコンピュータ。
When a state change notification having a node ID that is an identification number for identifying the state after the change of the database is received from the program model checking means for performing the program model check, the state is associated with the node ID and changed to the state after the change. Record the path information indicating the transition path and log information, which is a code for controlling the database output from the program model checking means during the transition from the state before the change to the state after the change, in the state tree management table. Recording means;
When a backtrack start notification having a restoration destination node ID, which is an identification number indicating a return destination state, is received from the program model checking means, it is recorded in the state tree management table in association with the restoration destination node ID. Backtrack management means for generating backtracking code for returning the database to the state indicated by the restoration destination node ID based on path information and log information;
A computer comprising:
プログラムモデル検査装置がプログラムモデル検査を実施する際に実行環境で使用するデータベースのデータベース制御方法であって、
前記プログラムモデル検査装置から、データベースの変化後の状態を識別する識別番号であるノードIDを有する状態変更通知を受信したときに、該ノードIDに関連付けて、
該変化後の状態への遷移経路を示すパス情報と、変化前の状態から該変化後の状態へ遷移する間に該プログラムモデル検査装置から出力された該データベースを制御するコードであるログ情報を状態ツリー管理テーブルに記録し、
前記プログラムモデル検査装置から戻り先の状態を示す識別番号である復元先ノードIDを有するバックトラック開始通知を受信したときに、該復元先ノードIDに関連付けて前記状態ツリー管理テーブルに記録されたパス情報とログ情報とに基づいて、初期状態から復元先ノードIDに対応する状態に到るまでの遷移経路を示す複数のパス情報に対応する複数のログ情報を、状態ツリー管理テーブルから取得し、該ログ情報を記録した順番と逆に並べて、前記データベースを該復元先ノードIDが示す状態に戻すバックトラック用コードを生成する、
ことを特徴とするプログラムモデル検査におけるデータベース制御方法。
A database control method for a database used in an execution environment when a program model checking device performs a program model checking,
When a state change notification having a node ID that is an identification number for identifying the state after the change of the database is received from the program model checking device,
Path information indicating a transition path to the state after the change, and log information that is a code for controlling the database output from the program model checking device during the transition from the state before the change to the state after the change. Record in the state tree management table,
The path recorded in the state tree management table in association with the restoration destination node ID when the backtrack start notification having the restoration destination node ID that is an identification number indicating the return destination state is received from the program model checking device Based on the information and log information, a plurality of log information corresponding to a plurality of path information indicating a transition path from the initial state to a state corresponding to the restoration destination node ID is acquired from the state tree management table, Arranging the log information in reverse order of recording and generating a backtracking code for returning the database to the state indicated by the restoration destination node ID;
A database control method in program model checking characterized by the above.
コンピュータに、
プログラムモデル検査装置から、データベースの変化後の状態を識別する識別番号であるノードIDを有する状態変更通知を受信したときに、該ノードIDに関連付けて、該変化後の状態への遷移経路を示すパス情報と、変化前の状態から該変化後の状態へ遷移する間に該プログラムモデル検査装置から出力された該データベースを制御するコードであるログ情報を状態ツリー管理テーブルに記録する処理と、
前記プログラムモデル検査装置から戻り先の状態を示す識別番号である復元先ノードIDを有するバックトラック開始通知を受信したときに、該復元先ノードIDに関連付けて前記状態ツリー管理テーブルに記録されたパス情報とログ情報とに基づいて、初期状態から復元先ノードIDに対応する状態に到るまでの遷移経路を示す複数のパス情報に対応する複数のログ情報を、状態ツリー管理テーブルから取得し、該ログ情報を記録した順番と逆に並べて、前記データベースを該復元先ノードIDが示す状態に戻すバックトラック用コードを生成するバックトラック管理処理と、
を実行させることを特徴とするプログラムモデル検査におけるデータベース制御プログラム。
On the computer,
When a state change notification having a node ID that is an identification number for identifying the state after the change of the database is received from the program model checking device, the transition path to the state after the change is shown in association with the node ID Processing for recording path information and log information that is a code for controlling the database output from the program model checking device during the transition from the state before the change to the state after the change in the state tree management table;
The path recorded in the state tree management table in association with the restoration destination node ID when the backtrack start notification having the restoration destination node ID that is an identification number indicating the return destination state is received from the program model checking device Based on the information and log information, a plurality of log information corresponding to a plurality of path information indicating a transition path from the initial state to a state corresponding to the restoration destination node ID is acquired from the state tree management table, Backtrack management processing for generating a backtrack code for arranging the log information in the reverse order of recording and returning the database to the state indicated by the restoration destination node ID;
A database control program in program model checking characterized by causing
JP2009155509A 2009-06-30 2009-06-30 Database control apparatus, database control method, and database control program in program model checking Expired - Fee Related JP5412995B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009155509A JP5412995B2 (en) 2009-06-30 2009-06-30 Database control apparatus, database control method, and database control program in program model checking

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009155509A JP5412995B2 (en) 2009-06-30 2009-06-30 Database control apparatus, database control method, and database control program in program model checking

Publications (2)

Publication Number Publication Date
JP2011013792A JP2011013792A (en) 2011-01-20
JP5412995B2 true JP5412995B2 (en) 2014-02-12

Family

ID=43592640

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009155509A Expired - Fee Related JP5412995B2 (en) 2009-06-30 2009-06-30 Database control apparatus, database control method, and database control program in program model checking

Country Status (1)

Country Link
JP (1) JP5412995B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012104991A1 (en) * 2011-02-01 2012-08-09 株式会社 日立製作所 Program test method, program test system, and program
JP5708260B2 (en) * 2011-05-30 2015-04-30 富士通株式会社 DB sequence backtrack control program, method, and apparatus for program model checking
JP5906705B2 (en) * 2011-12-06 2016-04-20 日本電気株式会社 Test system, test method, and program
CN102662829B (en) * 2012-03-16 2015-02-18 北京邮电大学 Processing method and apparatus for complex data structure in code static state testing
WO2016079962A1 (en) * 2014-11-17 2016-05-26 日本電気株式会社 Model checking device, model checking method, and storage medium
CN110399359B (en) * 2019-07-24 2023-09-01 创新先进技术有限公司 Data backtracking method, device and equipment
CN111737203A (en) * 2020-06-09 2020-10-02 阿里巴巴集团控股有限公司 Database history log backtracking method, device, system, equipment and storage medium

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05224992A (en) * 1992-02-13 1993-09-03 Hitachi Ltd Program test device
JPH06187275A (en) * 1992-12-18 1994-07-08 Fujitsu Ltd Testing method for server application
JPH07225707A (en) * 1994-02-10 1995-08-22 Fujitsu Ltd Test method for application and test supporting device for the same
JPH07319678A (en) * 1994-05-24 1995-12-08 Toshiba Corp Programming support system
JPH11259344A (en) * 1998-03-13 1999-09-24 Nri & Ncc Co Ltd Device and method for processing rdb data and storage medium recording rdb data processing sequence
JP2000163116A (en) * 1998-11-30 2000-06-16 Hitachi Ltd Support test case generation device and test case generation method
JP2001166966A (en) * 1999-12-09 2001-06-22 Hitachi Software Eng Co Ltd Method for managing execution environment of program to be tested in debugger
US6816873B2 (en) * 2001-05-15 2004-11-09 International Business Machines Corporation Method for managing distributed savepoints across multiple DBMS's within a distributed transaction
JP2003263353A (en) * 2002-03-08 2003-09-19 Hitachi Information Systems Ltd Fault occurrence cause analytical device, fault occurrence cause analytical method, and fault occurrence cause analytical program
US7263521B2 (en) * 2002-12-10 2007-08-28 Caringo, Inc. Navigation of the content space of a document set
US8095511B2 (en) * 2003-06-30 2012-01-10 Microsoft Corporation Database data recovery system and method
JP4103791B2 (en) * 2003-12-16 2008-06-18 日本電気株式会社 Program generation system and method

Also Published As

Publication number Publication date
JP2011013792A (en) 2011-01-20

Similar Documents

Publication Publication Date Title
JP5412995B2 (en) Database control apparatus, database control method, and database control program in program model checking
US7739547B2 (en) Failure recovery and error correction techniques for data loading in information warehouses
US7343447B2 (en) Method and system for synchronizing direct access storage volumes
US8024305B2 (en) Updating a data warehouse schema based on changes in an observation model
CN107003935A (en) Optimize database duplicate removal
JP5630190B2 (en) Update management apparatus, update management method, and update management program
CN109189852A (en) A kind of method that data are synchronous and the device synchronous for data
WO2018133578A1 (en) Method and device for migrating virtual machine, computer storage medium, and electronic apparatus
JP2006134214A (en) File version management method and computing system
DK2425383T3 (en) Method and device for ontologievolution
CN108431808A (en) Prompting processing to the structured data in the data space of subregion
CN108984337A (en) A kind of restorative procedure of data synchronous abnormality, prosthetic device, medium and calculate equipment
US20210124575A1 (en) Providing build avoidance without requiring local source code
WO2010044150A1 (en) Program change management device, program change management program, and program change management method
JP2013513143A (en) Method, system, and computer program for automatic generation of query lineage
JP2012155634A (en) Information processing program, information processing device and information processing method
JP2007299021A (en) Index updating method and its system
JP2007264814A (en) Program for creating replication data, program for reflecting replication data, and database device
CN115357269A (en) Configuration information updating method and device, computer equipment and storage medium
JP5240086B2 (en) Data management program
WO2023276212A1 (en) Software component update system, and software component update method
JP5248762B2 (en) Design data dependency management device, design data dependency management method and program
Schneller et al. Mysql Admin Cookbook Lite: Replication and Indexing
JP5708260B2 (en) DB sequence backtrack control program, method, and apparatus for program model checking
JP5974875B2 (en) Related estimation program, related estimation device, and related estimation method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130723

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130919

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131015

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131028

LAPS Cancellation because of no payment of annual fees