JP2014241071A - Analysis system, analysis method, and analysis program - Google Patents
Analysis system, analysis method, and analysis program Download PDFInfo
- Publication number
- JP2014241071A JP2014241071A JP2013123541A JP2013123541A JP2014241071A JP 2014241071 A JP2014241071 A JP 2014241071A JP 2013123541 A JP2013123541 A JP 2013123541A JP 2013123541 A JP2013123541 A JP 2013123541A JP 2014241071 A JP2014241071 A JP 2014241071A
- Authority
- JP
- Japan
- Prior art keywords
- program
- attribute
- attribute value
- identifier
- analysis
- 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.)
- Pending
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 77
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012790 confirmation Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 26
- 230000010365 information processing Effects 0.000 description 24
- 239000000284 extract Substances 0.000 description 15
- 230000000694 effects Effects 0.000 description 14
- 238000000034 method Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000012217 deletion Methods 0.000 description 8
- 230000037430 deletion Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 8
- 238000003780 insertion Methods 0.000 description 8
- 230000037431 insertion Effects 0.000 description 8
- 238000012423 maintenance Methods 0.000 description 8
- 238000006467 substitution reaction Methods 0.000 description 7
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
Description
本発明は、プログラムの分析を行う技術分野に関する。 The present invention relates to a technical field for analyzing a program.
プログラムコードから、データベースにアクセスするアクセス命令を抽出する情報処理装置の一例が、特許文献1に記載されている。
An example of an information processing apparatus that extracts an access instruction for accessing a database from a program code is described in
特許文献1の情報処理システムは、アプリケーションのプログラムコードに含まれるアプリケーションクラスから、データアクセスクラスを抽出する。そして、この情報処理システムは、抽出されたデータアクセスクラスから、所定の言語により記述された、データベースにアクセスするアクセス命令を抽出する。
The information processing system of
特許文献2には、仕様変更に伴い修正が必要とされるプログラムを特定する仕様変更保守作業支援システムが記載されている。この仕様変更保守作業支援システムでは、仕様変更を表すキーワードと、その仕様変更に伴う保守の対象となるプログラムのプログラム名が、関連付けられてデータベース化される。この仕様変更保守作業支援システムは、入力された、仕様変更を表すキーワードによって、データベースを検索する。そして、この仕様変更保守作業支援システムは、仕様変更を表すキーワードに関連付けられているプログラムの識別子を出力する。
特許文献3には、プログラムが処理を行う、ファイル名とそのファイル中の項目名を検索キーとして、プログラム名を検索する管理装置が記載されている。この管理装置は、プログラム名と、プログラムが処理を行うファイル名と、ファイル中の、プログラムが処理を行う項目名との関連を表す、あらかじめ記憶されている情報から、プログラム名を検索する。
一般に、関係モデルに基づくデータベースにおける属性は、その属性の名称を表す属性名と、その属性の定義域の名称によって表される。定義域は、その属性が取り得る値の集合である。属性の値は、属性値と表記される。データベース中の個々のデータは、それぞれ属性名に関連付けられた、1個以上の属性値の集合で表される。 In general, an attribute in a database based on a relation model is represented by an attribute name indicating the name of the attribute and a name of a definition area of the attribute. A domain is a set of values that an attribute can take. The attribute value is expressed as an attribute value. Each piece of data in the database is represented by a set of one or more attribute values each associated with an attribute name.
データベース中の個々のデータを、挿入、更新、および削除する操作は、いずれか1個以上の属性の属性値を指定して行われる。 Operations for inserting, updating, and deleting individual data in the database are performed by designating attribute values of any one or more attributes.
以下、後述する各実施形態を例に説明する本願において、データの「挿入」は、データベース中に、1個以上の属性の属性値を含む、新しいデータを生成することを表す。データを挿入する操作は、例えば、1個以上の属性の属性値を含む新しいデータを、データベース中に生成する命令を、データベースを管理するデータベース装置に送信することにより行われる。 In the present application, which will be described below by taking each embodiment described below as an example, “insertion” of data represents generation of new data including attribute values of one or more attributes in the database. The operation of inserting data is performed, for example, by transmitting an instruction for generating new data including attribute values of one or more attributes in the database to a database device that manages the database.
また、データの「更新」は、データが含む属性の属性値のうち少なくとも一部の属性値を、新しい属性値にすることを表す。属性値の更新は、その属性値を新しい属性値にすることを表す。データベース中のデータを更新する操作は、例えば、更新の対象であるデータと、更新する属性及びその属性の更新後の属性値とが指定された更新命令を、データベースを管理するデータベース装置に送信することにより行われる。更新の対象であるデータの指定は、例えば、更新の対象であるデータが含む1個以上の属性の属性値を指定することによって行われる。 Further, “update” of data indicates that at least a part of attribute values of attributes included in the data is changed to new attribute values. Updating the attribute value represents making the attribute value a new attribute value. In the operation of updating data in the database, for example, an update command in which data to be updated, an attribute to be updated, and an attribute value after updating the attribute are specified is transmitted to a database device that manages the database. Is done. The designation of data to be updated is performed, for example, by designating attribute values of one or more attributes included in the data to be updated.
データベース中のデータを削除する操作は、例えば、削除の対象であるデータが指定された削除命令を、データベースを管理するデータベース装置に送信することにより行われる。削除の対象であるデータの指定は、例えば、削除の対象であるデータが含む1個以上の属性の属性値を指定することによって行われる。データベース装置は、データベース中からのデータの削除を、例えば、削除の対象であるデータが含む、削除済みであるか否かを表す属性の属性値を、削除済みであることを表す属性値に変更することによって行ってもよい。以上の挿入、更新、および削除は、以下では、まとめて「変更」と表記する。データベース中のデータに対する変更は、挿入、更新、および削除だけでなく、データベース中のデータに変化が生じさせる操作を含んでいてもよい。 The operation of deleting data in the database is performed, for example, by transmitting a deletion command specifying data to be deleted to a database device that manages the database. The designation of data to be deleted is performed, for example, by designating attribute values of one or more attributes included in the data to be deleted. The database device changes the attribute value of the attribute indicating whether or not the deletion is included in the data to be deleted, for example, to the attribute value indicating that the data has been deleted. It may be done by doing. The above insertion, update, and deletion are collectively referred to as “change” below. Changes to data in the database may include operations that cause changes to the data in the database as well as inserts, updates, and deletes.
以上のように、データベース中のデータに対する変更は、属性値を指定することによって行われる。上述したデータの挿入の例では、指定される属性値は、例えば、新たに生成されるデータが含む属性の属性値である。また、データの削除の例では、指定される属性値は、例えば、削除の対象であるデータを特定する属性の属性値である。さらに、データの更新の例では、指定される属性値は、例えば、更新の対象であるデータを特定する属性の属性値と、更新される属性の属性値である。 As described above, changes to data in the database are performed by specifying attribute values. In the example of data insertion described above, the specified attribute value is, for example, an attribute value of an attribute included in newly generated data. In the example of data deletion, the specified attribute value is, for example, an attribute value of an attribute that specifies data to be deleted. Further, in the example of data update, the specified attribute values are, for example, an attribute value of an attribute that specifies data to be updated and an attribute value of the attribute to be updated.
特許文献1の情報処理装置は、所定の言語によって記述された、データベースにアクセスするアクセス命令を抽出する。しかし、特許文献1の情報処理装置は、プログラムが、データベース中のデータに対して、与えられた属性値が指定された変更を行うか否かを判定することはできない。
The information processing apparatus disclosed in
特許文献2の仕様変更保守作業支援システムは、仕様変更を表すキーワードに関連付けられている、その仕様変更による保守の対象となるプログラムのプログラム名を出力する。しかし、特許文献2の仕様変更保守作業支援システムは、プログラムが、データベース中のデータに対して、与えられた属性値が指定された変更を行うか否かを判定することはできない。
The specification change maintenance work support system of
特許文献3の管理装置は、ファイル名とそのファイル中の項目名に基づき、そのファイル中のその項目名の項目にアクセスするプログラム名を検索する。しかし、特許文献3の管理装置は、例えば、所定の値である項目を含むファイルに対して、プログラムが更新を行うか否かを判定することはできない。すなわち、特許文献3の管理装置は、プログラムが、データベース中のデータに対して、与えられた属性値が指定された変更を行うか否かを判定することはできない。
Based on the file name and the item name in the file, the management device of
本発明の目的の一つは、プログラムが、与えられた属性値を含むデータに対する変更を行い得たプログラムであるか否かを判定する分析装置を提供することにある。 One of the objects of the present invention is to provide an analysis apparatus that determines whether or not a program is a program that can change a data including a given attribute value.
本発明の分析装置は、データベース中の、属性の識別子に関連付けられた前記属性の値である属性値を含むデータに対して、変更を行うプログラムを記憶するプログラム記憶手段と、属性の識別子と、当該識別子に関連付けられた属性値の組み合わせを、取得する特定データ取得手段と、前記プログラムによって行われる処理の解析を行うプログラム解析手段と、前記解析の結果に基づき、前記組み合わせに識別子が含まれる属性の属性値として、前記組み合わせに含まれる前記属性値を含む前記データベース中のデータである特定データに対して、前記プログラムによって変更が行われ得たか否かを判定し、判定結果を求める関連判定手段とを含む。 The analysis apparatus of the present invention includes a program storage unit that stores a program for changing data including an attribute value that is a value of the attribute associated with the attribute identifier in the database, an attribute identifier, Specific data acquisition means for acquiring a combination of attribute values associated with the identifier, program analysis means for analyzing processing performed by the program, and an attribute whose identifier is included in the combination based on the result of the analysis Relevant determination means for determining whether or not the specific data, which is data in the database including the attribute value included in the combination, can be changed by the program as an attribute value of the combination, and obtaining a determination result Including.
本発明の分析方法は、データベース中の、属性の識別子に関連付けられた前記属性の値である属性値を含むデータに対して、変更を行うプログラムをプログラム記憶手段に記憶し、属性の識別子と、当該識別子に関連付けられた属性値の組み合わせを、取得し、前記プログラムによって行われる処理の解析を行い、前記解析の結果に基づき、前記組み合わせに識別子が含まれる属性の属性値として、前記組み合わせに含まれる前記属性値を含む前記データベース中のデータである特定データに対して、前記プログラムによって変更が行われ得たか否かを判定し、判定結果を求める。 The analysis method of the present invention stores, in a program storage means, a program for making a change to data including an attribute value that is the value of the attribute associated with the attribute identifier in the database, the attribute identifier, Acquire a combination of attribute values associated with the identifier, analyze the processing performed by the program, and include the combination as an attribute value of an attribute including the identifier in the combination based on the result of the analysis It is determined whether or not the specific data, which is data in the database including the attribute value, can be changed by the program, and a determination result is obtained.
本発明の分析プログラムは、コンピュータを、データベース中の、属性の識別子に関連付けられた前記属性の値である属性値を含むデータに対して、変更を行うプログラムを記憶するプログラム記憶手段と、属性の識別子と、当該識別子に関連付けられた属性値の組み合わせを、取得する特定データ取得手段と、前記プログラムによって行われる処理の解析を行うプログラム解析手段と、前記解析の結果に基づき、前記組み合わせに識別子が含まれる属性の属性値として、前記組み合わせに含まれる前記属性値を含む前記データベース中のデータである特定データに対して、前記プログラムによって変更が行われ得たか否かを判定し、判定結果を求める関連判定手段として動作させる。 The analysis program of the present invention includes a program storage means for storing a program for changing a computer to data including an attribute value that is a value of the attribute associated with the identifier of the attribute in the database; Based on the result of the analysis, the identifier is included in the combination based on the result of the analysis, the specific data acquisition means for acquiring the identifier and the combination of the attribute values associated with the identifier, the program analysis means for analyzing the processing performed by the program As the attribute value of the included attribute, it is determined whether or not the specific data that is the data in the database including the attribute value included in the combination can be changed by the program, and the determination result is obtained. Operate as an association determination means.
本発明には、プログラムが、与えられた属性値を含むデータに対する変更を行い得たプログラムであるか否かを判定できるという効果がある。 The present invention has an effect that it can be determined whether or not the program is a program that can be changed to data including a given attribute value.
(第1の実施形態)
次に、本発明の第1の実施形態について、図面を参照して詳細に説明する。
(First embodiment)
Next, a first embodiment of the present invention will be described in detail with reference to the drawings.
図1は、第1の実施形態の情報処理システム100の構成の一例を表す図である。
FIG. 1 is a diagram illustrating an example of a configuration of an
図1を参照すると、情報処理システム100は、分析装置1と、データベース装置2と、入力装置4と、出力装置5を含む。情報処理システム100は、アクセス装置3を含んでいてもよい。分析装置1とデータベース装置2は、互いに通信することができる。データベース装置2とアクセス装置3は、互いに通信することができる。データベース装置2は、分析装置1を含んでいてもよい。また、データベース装置2は、アクセス装置3を含んでいてもよい。データベース装置2は、分析装置1とアクセス装置3を含んでいてもよい。
Referring to FIG. 1, the
データベース装置2は、データベース記憶部20と、アクセス処理部21を含む。
The
データベース記憶部20は、データベース201を記憶する。データベース201は、例えば、前述のような、関係モデルに基づくデータベースである。データベース201は、必ずしも関係モデルに基づくデータベースでなくてもよい。データベース201は、1個以上の属性の属性値を含むデータを含んでいればよい。そして、データベース201にアクセスするプログラムが、データベース201が含むデータに対して、属性値を指定してデータを変更することが可能であればよい。
The
アクセス処理部21は、データベース201に対するアクセスの要求を受信する。そして、アクセス処理部21は、アクセスの要求に応じた、データベース201に対する処理を行う。さらに、アクセス処理部21は、必要に応じて、アクセスの要求に対する結果を返信する。データベース201に対するアクセスの要求は、データベース201からのデータの検索、データベース201が含むデータに対する更新及び削除、データベース201へのデータの挿入の要求を含む。
The
アクセス装置3は、CPU30(Central Processing Unit)と、コンピュータプログラムであるプログラム311がロードされたメモリ31を含む。プログラム311は、データベース201のデータに対して変更を行うプログラムである。CPU30がプログラム311を実行することにより、アクセス装置3は、データベース201のデータの変更を含むアクセスの要求を、データベース装置2に対して送信する。CPU30は、メモリ31にロードされた、複数の種類のプログラム311を実行してもよい。複数のアクセス装置3が、異なる種類のプログラム311を実行してもよい。
The
アクセス装置3は、例えば、図示されない端末からの指示に基づき、データベース201へのアクセス要求を行ってもよい。アクセス装置3は、例えば、あらかじめ与えられた手順に従って、あらかじめ与えられたパラメータを使用してプログラム311を実行することにより、データベース201へのアクセスを行ってもよい。
For example, the
分析装置1は、プログラム記憶部10と、特定データ取得部11と、関連判定部12と、出力部13と、プログラム解析部15とを含む。
The
プログラム記憶部10は、データベース201に含まれるデータに対して変更を行うプログラム311を記憶する。
The
特定データ取得部11は、属性の識別子と、その識別子に関連付けられた属性との組み合わせを、1個以上取得する。属性の識別子は、その属性の属性名やその他の、属性を特定できるデータである。特定データ取得部11により取得された組み合わせに識別子が含まれる属性の属性値として、その組み合わせに含まれる属性値を含むデータは、本実施の説明では、「特定データ」と表記される。後述される他の実施形態の説明においても同様である。
The specific
関連判定部12は、後述されるプログラム解析部15によって読み出され、解析されたプログラム311が、データベース201中の特定データに対して、アクセスを行い得たか否かを、解析の結果に基づき判定する。
The
関連判定部12は、さらに、プログラム記憶部10が記憶するプログラム311のコードにおいて、特定データ取得部11により取得された属性値が指定される場所を特定してもよい。また、関連判定部12は、特定データ取得部11により取得された属性値が指定された変更が、データベース201中のデータに対して行われる場所を特定してもよい。それぞれの属性値が指定される場所と、データベース201中のデータに対する、属性値が指定された変更が行われる場所は、まとめて、データベース201に対する変更を行うコードの場所とも表記される。関連判定部12は、例えば後述されるプログラム解析部15による、プログラム311の解析の結果を使用して、その場所の特定を行えばよい。
The
出力部13は、関連判定部12による判定の結果を出力する。また、関連判定部12がプログラム311中でデータベース201に対する変更を行うコードの場所を特定する場合、出力部13は、関連判定部12により特定された場所を出力する。
The
プログラム解析部15は、プログラム記憶部10に格納されているプログラム311の解析を行う。プログラム解析部15は、特に、プログラム記憶部10に格納されているプログラム311によって行われる、データベース201中のデータを変更する処理の解析を、プログラム311を解析することによって行う。
The
入力装置4は、ユーザが分析装置1に対して入力を行う装置である。入力装置4は、キーボード、マウス、あるいは他の入力装置である。
The
出力装置5は、分析装置1がユーザに対して出力を行う装置である。出力装置5は、例えばディスプレイ装置である。
The
次に、本実施形態の動作について、図面を参照して詳細に説明する。 Next, the operation of the present embodiment will be described in detail with reference to the drawings.
図2は、本実施形態の分析装置1の動作の一例を表すフローチャートである。
FIG. 2 is a flowchart showing an example of the operation of the
図2に示す動作の開始時に、プログラム記憶部10は、データベース201に含まれるデータに対して変更を行うプログラム311を記憶している。
At the start of the operation illustrated in FIG. 2, the
プログラム記憶部10が記憶するプログラム311は、例えば、アクセス装置3が実行するプログラム311のソースコードである。プログラム記憶部10が記憶するプログラム311は、関連判定部12やプログラム解析部15が構造の解析を行える形式で格納されていればよい。例えば、プログラム記憶部10が記憶するプログラム311は、ソースコードに関連付けられた、コンパイル後の実行可能コードであってもよい。以下では、主に、プログラム記憶部10に格納されているプログラム311が、アクセス装置3が実行するプログラム311のソースコードである場合の説明を行う。なお、アクセス装置3が、コンパイル後のコードではなく、ソースコードの形式のプログラム311をメモリにロードして実行するよう構成されている場合、プログラム311のソースコードは、実行可能コードと見なすことができる。プログラム記憶部10が記憶するプログラム311が、アクセス装置3のCPU30が実行可能な形式である場合、アクセス装置3のCPU30は、プログラム記憶部10から読み出したプログラム311を、メモリ31にロードして実行してもよい。また、プログラム311は複数のファイルで構成されていてもよい。
The
アクセス装置3が、与えられたパラメータを使用してプログラム311を実行する場合、プログラム記憶部10は、過去にアクセス装置3によってプログラム311が実行された時のパラメータを、プログラム311に関連付けて記憶していてもよい。アクセス装置3が、一度に複数のパラメータを使用してプログラム311を実行する場合、プログラム記憶部10は、一度に使用されるパラメータの組み合わせを、プログラム311に関連付けて記憶する。アクセス装置3が、異なるパラメータを使用して、同じプログラム311を複数回実行した場合、プログラム記憶部10は、同じプログラム311にパラメータの組み合わせを2つ以上関連付けて記憶する。分析装置1は、そのようなパラメータを、アクセス装置3から取得し、プログラム記憶部10に格納すればよい。また、アクセス装置3は、パラメータを表すデータとプログラム311の識別子を、例えばプログラム311の実行時に、分析装置1に送信するよう構成されていればよい。
When the
プログラム記憶部10は、複数のプログラム311を記憶していてもよい。それぞれのプログラム311が1個以上のファイルで構成される場合、プログラム記憶部10は、それぞれのファイルを、そのファイルが属するプログラム311の識別子に関連付けて記憶する。
The
図2に示す動作の例では、まず、プログラム解析部15が、プログラム記憶部10から、プログラム311を読み出す(ステップS101)。
In the example of the operation illustrated in FIG. 2, first, the
プログラム311が複数のファイルによって構成されている場合、プログラム解析部15は、プログラム311を構成する複数のファイルをまとめて読み出せばよい。プログラム記憶部10に複数のプログラム311が格納されている場合、プログラム解析部15は、それらの複数のプログラム311を読み出す。そして、分析装置1は、読み出された複数のプログラム311からプログラム311を順次選択しながら、ステップS102以下の動作を繰り返せばよい。プログラム311に関連付けられたパラメータが存在する場合は、プログラム解析部15は、さらに、そのパラメータを読み出す。
When the
次に、プログラム解析部15が、読み出されたプログラム311を解析する(ステップS102)。
Next, the
ステップS102で、プログラム解析部15は、プログラム311の解析を行う。プログラム解析部15は、プログラム記憶部10が記憶するプログラム311に使用されている言語に応じた、既存の解析技術を使用して、プログラム311の解析を行えばよい。プログラム解析部15における解析技術として、例えば、プログラム311のデバッガに使用される解析技術が使用可能である。
In step S102, the
プログラム311の構造の解析では、プログラム解析部15は、プログラム311の制御構造を解析する。また、プログラム解析部15は、データベース201のデータに対して、挿入を行う命令、更新を行う命令、及び削除を行う命令を抽出する。本発明の実施形態の説明では、データベース201のデータに対する、挿入、更新、及び削除は、変更と表記される。さらに、これらの挿入を行う命令、更新を行う命令、及び削除を行う命令は変更命令と表記される。変更は、データベース201中のデータに変化を生じさせる他の処理を含んでいてもよい。変更命令は、命令を実行することによりデータベース201中のデータに変化が生じる他の命令を含んでいてもよい。命令は、コンピュータに行わせる処理を表すプログラム311の一部分である。
In the analysis of the structure of the
さらに、プログラム解析部15は、データベース201のデータに対する変更命令において、指定される属性とその属性値や、指定される属性値を表す変数を抽出する。そして、プログラム解析部15は、指定される属性値を表す変数に、具体的な値を設定する命令を抽出する。プログラム解析部15は、プログラム311の制御構造の中で、変数に設定された値が有効な範囲を抽出する。変数に設定された値が有効な範囲は、変数に値が代入される場所から、その変数に他の値が代入される場所までの範囲を意味する。
Further, the
プログラム解析部15が出力する解析の結果は、例えば、抽出された、変更命令、属性値を設定する命令、変数に属性値を設定する命令と、それらがプログラム311中で記述されている場所を含む。プログラム311中で記述されている場所は、例えば、ファイルの識別子と、そのファイル内の記述の位置である。記述の位置は、例えば、その記述の行の番号、あるいは、ファイルの先頭からのバイト数等で表される。解析の結果は、それぞれの命令において指定されている属性と属性値の情報を含む。属性値が代入された変数が属性値として命令に与えられている場合、属性値の情報は、その変数を特定する情報である。値が属性値として命令に与えられている場合、属性値の情報は、その値である。また、解析の結果は、変数と、その変数に代入される値と、変数に値が代入される場所を含む。変数への値の代入は、引数として関数に与えられる値が、関数内の引数を表す変数に代入されることも含む。そして、解析の結果は、変数に設定された値が有効な範囲を含む。解析の結果は、以上の例に限られない。
The analysis result output by the
プログラム311に関連付けられているパラメータが存在する場合、プログラム解析部15は、そのパラメータを使用して、プログラム311の解析を行うこともできる。プログラム311に関連付けられているパラメータの組み合わせが複数存在する場合、プログラム解析部15は、パラメータの組み合わせ毎に、組み合わせに含まれるパラメータを使用してプログラム311の解析を行うことができる。
When there is a parameter associated with the
そして、プログラム解析部15は、解析の結果を、関連判定部12に送信する。あるいは、プログラム解析部15は、解析の結果を、プログラム記憶部10に格納してもよい。プログラム記憶部10に複数のプログラム311が格納されている場合、プログラム解析部15は、解析の結果を、例えばプログラム311の識別子に関連付けて、プログラム記憶部10に格納してもよい。そして、関連判定部12が、プログラム記憶部10から、解析の結果を読み出してもよい。
Then, the
次に、特定データ取得部11が、属性の識別子と、その識別子に関連付けられた属性値との組み合わせを、1個以上取得する(ステップS103)。
Next, the specific
特定データ取得部11は、例えば、入力装置4を介してユーザが入力した、属性の識別子と属性値の組み合わせを取得する。
For example, the specific
特定データ取得部11は、入力装置4を介してユーザが指定した、データベース201が含むデータを、データベース装置2から取得してもよい。そして特定データ取得部11は、取得したデータに含まれる属性の、識別子と属性値の組み合わせを取得してもよい。特定データ取得部11は、取得したデータが含む全ての属性の、識別子と属性値の組み合わせではなく、取得したデータが含む属性のうち、属性入力装置4を介してユーザが指定した属性の、識別子と属性値の組み合わせを取得してもよい。特定データ取得部11は、ユーザが入力した条件によってデータベース201から検索されたデータを取得してもよい。特定データ取得部11は、あらかじめ決められている条件によってデータベース201から検索されたデータを取得してもよい。例えば、特定データ取得部11は、挿入された時期が最も新しいデータを取得してもよい。あるいは、特定データ取得部11は、特定データ取得部11は、データベース201中に最も多く存在するデータを取得してもよい。上述のように、特定データ取得部11が取得する全ての組み合わせに含まれる属性値を、その属性値と同じ組み合わせに識別子が含まれる属性の属性値として含むデータは、特定データと表記される。ステップS103で特定データ取得部11がデータを取得し、取得したデータに含まれるいずれか1個以上の属性の、識別子と属性値の組み合わせを取得する場合、その取得されるデータは特定データである。
The specific
図3は、データベース201中のデータの一例を表す図である。図3に示す例では、データは、属性名すなわち属性の識別子がAである属性の識別子及び属性値の組み合わせと、属性名がBである属性の識別子及び属性値の組み合わせを含む。図3に示すデータでは、属性Aの属性値は100である。また、属性Bの属性値は200である。
FIG. 3 is a diagram illustrating an example of data in the
図4は、特定データ取得部11が取得したデータに対して、ユーザが指定した属性を表す図である。図4に示す例では、データが含む属性は、属性A、属性B、及び属性Cである。また、ユーザが指定した属性は、属性Aである。
FIG. 4 is a diagram illustrating attributes specified by the user for the data acquired by the specific
次に、関連判定部12は、データベース201中の特定データに対して、プログラム311が変更を行った可能性があるか否かを判定する(ステップS104)。言い換えると、関連判定部12は、取得された組み合わせに識別子が含まれる属性の属性値として、組み合わせに含まれる属性値が指定される変更が、プログラム311によってデータベース201中のデータに対して行われ得たか否かを判定する。
Next, the
関連判定部12は、例えば、プログラム解析部15がプログラム311を解析した結果に基づき、プログラム311から、以下で説明される、データベース201中の特定データに対する変更命令を検出することによって、ステップS104における判定を行えばよい。データベース201中の特定データに対して変更を行う変更命令を、以下では、特定データ変更命令とも表記する。特定データ変更命令は、取得された組み合わせに識別子が含まれるいずれか1個以上の属性の属性値として、その組み合わせに含まれ、その識別子に関連付けられている属性値が、変更命令の実行時に指定され得る変更命令である。ただし、特定データ変更命令には、取得されたいずれか組み合わせに対して、組み合わせに識別子が含まれる属性の属性値として、その組み合わせに含まれる属性値とは異なる属性値が、変更命令の実行時に指定される変更命令は含まれない。
For example, the
例えば、1個の組み合わせが取得される場合、関連判定部12は、その組み合わせに識別子が含まれる属性の属性値として、その組み合わせに含まれる属性値が指定される変更命令を検出する。2個以上の組み合わせが取得される場合、関連判定部12は、少なくともいずれか1個の組み合わせに対して、その組み合わせに識別子が含まれる属性の属性値として、その組み合わせに含まれる属性値が指定される変更命令を検出する。ただし、関連判定部12は、取得された他の組み合わせに対して、その組み合わせに識別子が含まれる属性の属性値として、その組み合わせに含まれる属性値以外の属性値が指定される変更命令を検出しない。
For example, when one combination is acquired, the
関連判定部12は、プログラム311から特定データ変更命令が検出された場合、データベース201中の特定データに対して、プログラム311が変更を行った可能性があると判断する。関連判定部12は、プログラム311から特定データ変更命令が検出されない場合、データベース201中の特定データに対して、プログラム311が変更を行った可能性がないと判断する。
When the specific data change instruction is detected from the
関連判定部12は、具体的には、例えば次のように、ステップS104における判定を行う。
Specifically, the
図5は、関連判定部12の、ステップS104における判定処理の詳細を例示する府フローチャートである。
FIG. 5 is a flowchart illustrating details of the determination processing in step S104 by the
図5によると、関連判定部12は、まず、プログラム解析部15から、プログラム311の解析結果を取得する(ステップS111)。前述のように、プログラム311の解析結果は、プログラム311中の制御構造、変更命令、変更命令で指定される属性値や変数、変数に代入される値、変数に代入された値が有効な範囲、及び、それらがプログラム311中で記述されている場所を含む。上述のように、本発明の実施形態の説明では、挿入を行う命令、更新を行う命令、削除を行う命令は、まとめて、変更命令とも表記される。また、上述のように、変更命令は、命令を実行することによりデータベース201中のデータに変化が生じる、他の命令を含んでいてもよい。
According to FIG. 5, the
解析結果に未選択の変更命令が存在する場合(ステップS112でYes)、関連判定部12は、未選択の変更命令からいずれか一つの変更命令を選択する(ステップS113)。
If there is an unselected change command in the analysis result (Yes in step S112), the
そして、関連判定部12は、プログラム311の解析結果に基づき、選択された変更命令の実行時に、指定されている属性を特定する(ステップS114)。すなわち、関連判定部12は、変更命令の対象であるデータを選択するための条件としてプログラム311中で指定される、属性を特定する。さらに、関連判定部12は、変更命令の対象であるデータの、変更命令による変更後の属性値としてプログラム311中で指定される、属性を特定する。
Then, the
次に、関連判定部12は、選択された変更命令が特定データ変更命令であるか否かを判定する(ステップS115)。
Next, the
ステップS115で、まず、関連判定部12は、選択された変更命令において、ステップS103で取得された組み合わせに識別子が含まれる属性が指定されているか否かを判定する。選択された変更命令において、ステップS103で取得された組み合わせに識別子が含まれる属性が指定されていない場合、関連判定部12は、選択された変更命令が特定データ変更命令ではないと判定する。
In step S115, the
選択された変更命令において、ステップS103で取得された組み合わせに識別子が含まれる属性が指定されている場合、関連判定部12は、変更命令に対して指定されている各属性の属性値を特定する。
In the selected change instruction, when an attribute including an identifier is specified in the combination acquired in step S103, the
具体的には、まず、関連判定部12は、選択された属性の属性値が設定されている、プログラム311中の場所を特定する。例えば、属性値が直接変更命令に渡されている場合、すなわち、プログラム311中の変更命令の場所に属性値の値そのものが記述されている場合、プログラム311中で属性値が設定されている場所は、変更命令の場所である。また、属性値が格納されている変数が変更命令に渡されている場合、プログラム311中で属性値が設定されている場所は、その属性値が変数に代入されている場所ある。
Specifically, first, the
以下の説明において、プログラム311中の、属性値が設定されている場所を、属性値確定箇所と表記する。また、プログラム311中の、変更命令が記述されている場所と、その変更命令で指定される属性値が設定されている場所を、関連歌書と表記する。
In the following description, a place where an attribute value is set in the
関連判定部12は、特定された場所で設定されている属性値を特定する。特定された場所で、2個以上の値が属性値として設定されうる場合、関連判定部12は、設定される得る属性値の集合や、設定される得る属性値の範囲を特定する。その範囲は、有限でなくてもよい。例えば、プログラム311を実行する際のパラメータとして属性値が与えられる場合や、プログラム311の実行中のユーザによる入力により属性値が与えられる場合、属性値はプログラム311を実行するまで定まらない。属性値が定まらない場合、関連判定部12は、変更命令の実行時に、その属性値が取りうる全ての値が設定されうると判定する。プログラム記憶部10に、プログラム311に関連付けられている、そのプログラム311が過去に実行された際与えられたパラメータが格納されている場合、関連判定部12は、そのパラメータを使用して、属性値を特定してもよい。
The
データを選択するための条件として属性値が指定されている属性が、変更後の属性値が指定されている属性に含まれる、関連判定部12は、変更後の属性値として指定されている属性値を、指定されている属性値として選択する。
The attribute for which the attribute value is specified as a condition for selecting data is included in the attribute for which the attribute value after the change is specified. The
そして、関連判定部12は、例えば、未選択の属性が無くなるまで、以下の動作を繰り返す。
Then, for example, the
関連判定部12は、変更命令に指定されている属性とその属性値から、未選択の属性とその属性値を一つ選択する。この選択された属性値を、第1の属性値と表記する。
The
関連判定部12は、選択された属性の識別子に関連付けられている属性値を、ステップS103で取得された組み合わせから抽出する。この抽出された属性値を、第2の属性値と表記する。関連判定部12は、第1の属性値と第2の属性値を比較し、それらが整合するか否かを判定する。第1の属性値と第2の属性値が一致する場合、関連判定部12は、第1の属性値と第2の属性値が整合すると判定する。ステップS115で特定された第1の属性値が、属性値の集合または属性値の範囲である場合、第2の属性値がその属性値の集合又は属性値の範囲に含まれれば、関連判定部12は、第1の属性値と第2の属性値が整合すると判定する。例えば、第1の属性値が、実行時にプログラム311に与えられるパラメータによって定まる場合、第1の属性値は、プログラム311の実行時まで定まらない。第1の属性値が、プログラム311の実行時まで定まらない場合、関連判定部12は、第1の属性値と第2の属性値が整合すると判定する。
The
第1の属性値が一つの値であり、第1の属性値と第2の属性値が一致しない場合、関連判定部12は、第1の属性値と第2の属性値が整合しないと判定する。第1の属性値が、属性値の集合または属性値の範囲であり、第2の属性値がその属性値の集合又は属性値の範囲に含まれない場合、関連判定部12は、第1の属性値と第2の属性値が整合しないと判定する。
When the first attribute value is one value and the first attribute value and the second attribute value do not match, the
ステップS103で取得された組み合わせに、選択された属性の属性値が含まれていない場合、関連判定部12は、第1の属性値と第2の属性値の比較を行わない。
If the combination acquired in step S103 does not include the attribute value of the selected attribute, the
第1の属性値と第2の属性値が整合しない属性が存在しない場合、関連判定部12は、選択された変更命令が特定データ変更命令であると判定する。少なくともいずれか一つの属性の、第1の属性値と第2の属性値が整合しない場合、関連判定部12は、選択された変更命令が特定データ変更命令ではないと判定する。
When there is no attribute that does not match the first attribute value and the second attribute value, the
選択された変更命令が特定データ変更命令であると判定された場合(ステップS116でYes)、すなわち、プログラム311から特定データ変更命令が検出された場合、プログラム311を実行することにより、特定データが変更される可能性がある。したがって、この場合、関連判定部12は、データベース201中の特定データに対して、プログラム311が変更を行った可能性があると判断する(ステップS117)。そして、関連判定部12は、図5に示す動作を終了する。
When it is determined that the selected change instruction is a specific data change instruction (Yes in step S116), that is, when a specific data change instruction is detected from the
選択された変更命令が特定データ変更命令ではないと判定された場合(ステップS116でNo)、関連判定部12の動作は、ステップS112に戻る。
When it is determined that the selected change command is not the specific data change command (No in step S116), the operation of the
プログラム311の解析結果に、変更命令が含まれない場合、未選択の変更命令は存在しない。また、プログラム311の解析結果に含まれる全ての変更命令が、特定データ変更命令でない場合、最終的に未選択の変更命令は存在しなくなる。
If the analysis result of the
未選択の変更命令が存在しない場合(ステップS112でNo)、関連判定部12は、データベース201中の特定データに対して、プログラム311が変更を行った可能性がないと判断する(ステップS118)。そして、関連判定部12は、図5に示す動作は終了する。
When there is no unselected change command (No in step S112), the
ステップS104の動作の終了後、出力部13は、ステップS104の結果を出力する(ステップS105)。出力部13は、ステップS104の結果を、プログラム311の識別子に関連付けて出力してもよい。
After the operation of step S104 is completed, the
データベース201中の特定データに対して、プログラム311が変更を行った可能性がある場合、出力部13は、データベース201中の特定データに対して、プログラム311が変更を行った可能性があることを表す文字列、記号、あるいは図形等を出力する。データベース201中の特定データに対して、プログラム311が変更を行った可能性がある場合、出力部13は、ステップS104の結果として、プログラム311中の変更命令の場所や、変更命令の実行時に指定される属性値が設定される場所を表示してもよい。
If there is a possibility that the
データベース201中の特定データに対して、プログラム311が変更を行った可能性が無い場合、出力部13は、データベース201中の特定データに対して、プログラム311が変更を行った可能性が無いことを表す文字列、記号、あるいは図形等を出力する。データベース201中の特定データに対して、プログラム311が変更を行った可能性が無い場合、出力部13は、出力を行わなくてもよい。
When there is no possibility that the
次に、本実施形態の効果について説明する。 Next, the effect of this embodiment will be described.
本実施形態には、プログラム311が、与えられた属性値を含むデータに対する変更を行い得たプログラム311であるか否かを判定できるという効果がある。
In this embodiment, there is an effect that it can be determined whether or not the
その理由は、関連判定部12が、特定データ取得部11が取得した属性値が指定されている、データを変更する変更命令を、プログラム311から検出するからである。
The reason is that the
また、本実施形態には、ユーザが個々の属性値を入力する必要がなくなるという他の効果がある。 In addition, this embodiment has another effect that the user does not need to input individual attribute values.
その理由は、特定データ取得部11が、ユーザにより指定されたデータから、属性値を取得するからである。
The reason is that the specific
(第2の実施形態)
次に、本発明の第2の実施形態について、図面を参照して詳細に説明する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described in detail with reference to the drawings.
本実施形態の情報処理システム100の構成は、図1に示す、第1の実施形態の情報処理システム100の構成と同じである。
The configuration of the
本実施形態の関連判定部12は、さらに、プログラム311に含まれる、それぞれの特定データ変更命令の場所を特定する。また、本実施形態の関連判定部12は、それぞれの特定データ変更命令の実行時に指定される全ての属性値に対して、属性値が設定される場所を特定する。すなわち、本実施形態の関連判定部12は、抽出された全ての特定データ変更命令に対して、関連箇所を特定する。
The
本実施形態の出力部13は、特定された、特定データ変更命令の場所と、属性値が設定される場所を出力する。すなわち、本実施形態の出力部13は、抽出された全ての特定データ変更命令に対して、関連箇所を出力する。
The
本実施形態の情報処理システム100の他の構成要素は、同じ番号が付与された、第1の実施形態の構成要素と同じである。従って、詳細な説明を省略する。
The other components of the
次に、本実施形態の分析装置1の動作について、図面を参照して詳細に説明する。
Next, operation | movement of the
図2は、本実施形態の分析装置1の全体の動作を表す図である。
FIG. 2 is a diagram illustrating the overall operation of the
本実施形態の分析装置1の、ステップS101からステップS103までの動作は、第1の実施形態の分析装置1の、ステップS101からステップS103までの動作と同じである。
The operation from step S101 to step S103 of the
関連判定部12は、ステップS104において、プログラム311中の、特定データ変更命令の場所及びその特定データ変更命令で指定される属性値が設定される場所を特定する。
In step S <b> 104, the
図6は、特定データ変更命令の場所を全て特定する場合の、関連判定部12の、ステップS104における判定処理の詳細を例示するフローチャートである。
FIG. 6 is a flowchart illustrating the details of the determination processing in step S104 of the
本実施形態の分析装置1の、ステップS111からステップS116までの動作は、第1の実施形態の分析装置1の、同じ番号が付与されたステップの動作と同じである。
The operation from step S111 to step S116 of the
ステップS115で特定された属性の、識別子と属性値の組み合わせの全てが、取得された組み合わせに含まれる場合(ステップS116でYes)、関連判定部12は、ステップS201の動作を行う。
When all the combinations of the identifier and attribute value of the attribute specified in step S115 are included in the acquired combination (Yes in step S116), the
ステップS201で、関連判定部12は、選択された変更命令の場所と、その変更命令に対して指定されている属性値が設定されている場所を、検出結果に追加する。関連判定部12は、例えば、プログラム311中における、選択された変更命令の記述及びその場所と、その変更命令に対して指定されている属性値を設定する記述及びその場所を、検出結果に追加してもよい。
In step S201, the
ステップS115で特定された属性の、識別子と属性値の組み合わせの全てが、取得された組み合わせに含まれない場合(ステップS116でYes)、関連判定部12の動作は、ステップS112に戻る。
When all the combinations of identifiers and attribute values of the attribute specified in step S115 are not included in the acquired combination (Yes in step S116), the operation of the
ステップS112で、未選択の変更命令が存在しない場合(ステップS112でNo)、関連判定部12は、図6に示す動作を終了する。
If there is no unselected change command in Step S112 (No in Step S112), the
プログラム311が上述した特定データ変更命令を含んでいる場合、図6に示す動作の終了時に、検出結果には、特定データ変更命令の場所及びその特定データ変更命令で指定される属性値の設定場所が含まれる。検出結果が、特定データ変更命令を含む場合、データベース201中の特定データに対して、プログラム311が変更を行った可能性がある。プログラム311が特定データ変更命令を含まない場合、検出結果は特定データ変更命令の場所を含まれない。検出結果が特定データ変更命令を含まない場合、データベース201中の特定データに対して、プログラム311が変更を行った可能性はない。従って、本実施形態の関連判定部12も、プログラム311中の特定データ変更命令を抽出することにより、データベース201中の特定データに対して、プログラム311が変更を行った可能性の有無を判定していることになる。検出結果を、データベース201中の特定データに対して、プログラム311が変更を行った可能性の有無の判断結果と見なすことができる。
When the
ステップS105で、出力部13は、上述した検出結果を出力する。すなわち、プログラム311が上述した特定データ変更命令を含む場合、出力部13は、選択された変更命令の場所と、その変更命令に対して指定されている属性値が設定されている場所を出力する。この場合、出力部13は、例えば、プログラム311中における、選択された変更命令の記述及びその場所と、その変更命令に対して指定されている属性値を設定する記述及びその場所を、検出結果に追加してもよい。プログラム311が上述した特定データ変更命令を含まない場合、出力部13は、例えば、プログラム311がデータベース201中の上述した特定データを変更する変更命令を含まないことを出力する。あるいは、この場合、出力部13は、何も出力しなくてもよい。
In step S105, the
以上で説明した本実施形態には、第1の実施形態と同じ効果がある。その理由は、第1の実施形態における理由と同じである。 The present embodiment described above has the same effect as the first embodiment. The reason is the same as the reason in the first embodiment.
本実施形態には、さらに、与えられた属性値を含むデータに対する変更を行い得たプログラム311の、その変更の処理に関係する箇所を表示できるという効果がある。また、本実施形態には、データベース装置2が、データベース201のデータを変更するアクセスを記録する必要がなくなるという効果がある。
The present embodiment further has an effect of displaying a portion related to the change processing of the
その理由は、関連判定部12が、プログラム311が含む各特定データ変更命令と、その関連箇所を抽出するからである。前述のように、特定データは、特定データ取得部11が取得した識別子により特定される属性の属性値と指定、その識別子に関連付けられている、特定データ取得部11が取得した属性値を含むデータである。特定データ変更命令は、特定データに対して変更を行い得た命令である。関連箇所は、プログラム311中の特定データ変更命令と、その特定データ変更命令で指定される属性値が記載されている場所である。
The reason is that the
(第3の実施形態)
次に、本発明の第3の実施形態について、図面を参照して詳細に説明する。
(Third embodiment)
Next, a third embodiment of the present invention will be described in detail with reference to the drawings.
本実施形態の情報処理システム100の構成は、図1に示す、第1の実施形態の情報処理システム100の構成と同じである。
The configuration of the
本実施形態の情報処理システム100の構成要素は、以下で説明される事項を除き、同じ番号が付与された、第2の実施形態の構成要素と同じである。
The components of the
本実施形態では、特定データ変更命令は、特定データ取得部11が取得した、属性の識別子と属性値の全ての組み合わせに対して、組み合わせに識別子が含まれる属性の属性値として、組み合わせに含まれる属性値が指定される変更命令である。
In the present embodiment, the specific data change command is included in the combination as the attribute value of the attribute including the identifier in the combination for all combinations of the attribute identifier and the attribute value acquired by the specific
本実施形態の関連判定部12は、上述した特定データ変更命令の場所と、その特定データ変更命令で指定される属性値が設定される場所を、プログラム311中で特定する。
In the
次に、本実施形態の分析装置1の動作について、図面を参照して詳細に説明する。
Next, operation | movement of the
図2は、本実施形態の分析装置1の全体の動作の一例を表す図である。本実施形態の分析装置1の全体の動作は、ステップS104の動作を除き、第2の実施形態の分析装置1の全体の動作と同じである。
FIG. 2 is a diagram illustrating an example of the overall operation of the
図6は、本実施形態の分析装置1の、ステップS104の動作の一例を表す図である。
FIG. 6 is a diagram illustrating an example of the operation in step S <b> 104 of the
本実施形態の分析装置1のステップS104の動作は、図6に示すステップS115の動作が、第2の実施形態の分析装置1のステップS104の動作と異なる。本実施形態の分析装置1は、ステップS104において、ステップS115の動作を除き、第2の実施形態の分析装置1と同じ動作を行う。
The operation of step S104 of the
ステップS115において、関連判定部12は、さらに、ステップS103で取得された組み合わせに、選択された変更命令において属性値が指定されない属性の識別子が含まれるか否かを判定する。関連判定部12は、この判定を、例えば、ステップS103で取得された組み合わせに識別子が含まれる属性が、選択された変更命令において指定されているか否かを判定した後に、行えばよい。そして、関連判定部12は、ステップS103で取得された組み合わせに、選択された変更命令において属性値が指定されない属性の識別子が含まれる場合、選択された変更命令は特定データ変更命令でないと判定する。
In step S115, the
本実施形態の関連判定部12は、ステップS115において、以上の動作を除き、第2の実施形態の関連判定部12と同じ動作を行う。
In step S115, the
以上で説明した本実施形態には、第1及び第2の実施形態と同じ効果がある。その理由は、第1及び第2の実施形態における理由と同じである。 The present embodiment described above has the same effect as the first and second embodiments. The reason is the same as the reason in the first and second embodiments.
本実施形態には、さらに、与えられた属性値の一部を含まないデータに対する変更の処理に関連する箇所を、表示から除外することができるという効果がある。 The present embodiment further has an effect that it is possible to exclude from the display a portion related to a change process for data that does not include a part of a given attribute value.
その理由は、関連判定部12が、与えられた全ての属性値が指定された変更命令を、プログラム311から抽出するからである。
The reason is that the
(第4の実施形態)
次に、本発明の第4の実施形態について、図面を参照して詳細に説明する。
(Fourth embodiment)
Next, a fourth embodiment of the present invention will be described in detail with reference to the drawings.
本実施形態の情報処理システム100の構成は、図1に示す、第1の実施形態の情報処理システム100の構成と同じである。
The configuration of the
本実施形態の情報処理システム100の構成要素は、以下で説明される事項を除き、同じ番号が付与された、第3の実施形態の構成要素と同じである。
The components of the
本実施形態の特定データ取得部11は、属性の識別子と属性値の組み合わせに加えて、属性値が関連付けられていない属性の識別子を取得する。以下の説明では、特定データ取得部11が取得する識別子に、属性値が関連付けられていない属性は、任意値属性と表記される。
The specific
本実施形態では、特定データ変更命令は、前述の組み合わせに識別子が含まれる属性の属性値として、その組み合わせに含まれる属性値が指定され、任意値属性にいずれかの属性値が指定される変更命令である。また、本実施形態では、プログラム311中で、特定データ取得部11が取得した組み合わせに識別子が含まれる属性の属性値が設定される場所が、属性値確定箇所である。属性値確定箇所は、任意値属性に属性値が設定される場所は含まれない。また、プログラム311中の、特定データ変更命令が記述されている場所と、属性値確定箇所が、関連箇所である。
In the present embodiment, the specific data change instruction is a change in which the attribute value included in the combination is specified as the attribute value of the attribute including the identifier in the combination, and any attribute value is specified in the arbitrary value attribute. It is an instruction. In the present embodiment, a place where an attribute value of an attribute whose identifier is included in the combination acquired by the specific
本実施形態の関連判定部12は、本実施形態の特定データ変更命令の場所と、その特定データ変更命令で指定される、任意値属性以外の属性の属性値が設定される場所を、プログラム311中で特定する。関連判定部12は、任意値属性に属性値が設定される場所の抽出を行わない。
The
本実施形態の出力部13は、抽出された特定データ変更命令の関連箇所を出力する。
The
次に、本実施形態の分析装置1の動作について、図面を参照して詳細に説明する。
Next, operation | movement of the
図2は、本実施形態の分析装置1の全体の動作の一例を表す図である。本実施形態の分析装置1の全体の動作は、ステップS104の動作を除き、第3の実施形態の分析装置1の全体の動作と同じである。
FIG. 2 is a diagram illustrating an example of the overall operation of the
図6は、本実施形態の分析装置1の、ステップS104の動作の一例を表す図である。
FIG. 6 is a diagram illustrating an example of the operation in step S <b> 104 of the
本実施形態の分析装置1のステップS104の動作は、図6に示すステップS115の動作が、第3の実施形態の分析装置1のステップS104の動作と異なる。本実施形態の分析装置1は、ステップS104において、ステップS115の動作を除き、第3の実施形態の分析装置1と同じ動作を行う。
The operation of step S104 of the
ステップS115において、関連判定部12は、さらに、選択された変更命令において、それぞれの任意値属性に属性値が指定されているか否かを判定する。関連判定部12は、この判定を、例えば、ステップS103で取得された組み合わせに、選択された変更命令において属性値が指定されない属性の識別子が含まれるか否かを判定した後に、行えばよい。そして、関連判定部12は、選択された変更命令において、いずれかの任意値属性に属性値が指定されない場合、選択された変更命令は特定データ変更命令でないと判定する。すなわち、関連判定部12は、選択された変更命令において属性値が指定される属性に、いずれかの任意値属性が含まれない場合、選択された変更命令は特定データ変更命令でないと判定する。
In step S115, the
本実施形態の関連判定部12は、ステップS115において、以上の動作を除き、第3の実施形態の関連判定部12と同じ動作を行う。
In step S115, the
以上で説明した本実施形態には、第1、第2、及び第3の実施形態と同じ効果がある。その理由は、第1、第2、及び第3の実施形態における理由と同じである。 The present embodiment described above has the same effects as the first, second, and third embodiments. The reason is the same as the reason in the first, second, and third embodiments.
本実施形態には、さらに、抽出する変更命令が変更を行うデータの柔軟な指定が可能になるという効果がある。 This embodiment further has an effect that the change instruction to be extracted can flexibly specify data to be changed.
その理由は、関連判定部12が、特定データ取得部11が識別子だけを取得した属性に対して、その属性の属性値が指定されている変更命令を、指定されている値によらず、抽出するからである。
The reason is that the
(第5の実施形態)
次に、本発明の第5の実施形態について、図面を参照して詳細に説明する。
(Fifth embodiment)
Next, a fifth embodiment of the present invention will be described in detail with reference to the drawings.
図7は、本実施形態の情報処理システム100Aの構成を表すブロック図である。図1に示される第1の実施形態の情報処理システム100と比較すると、本実施形態の情報処理システム100Aは、分析装置1の代わりに分析装置1Aを含む。
FIG. 7 is a block diagram showing the configuration of the
本実施形態の分析装置1Aは、第1の実施形態の分析装置1の各構成要素に加えて、データ順序付け部14を含む。
The
本実施形態の特定データ取得部11は、属性の識別子と属性値の組み合わせを1個以上含む組と、その組に関連付けられた特徴量を取得する。
The specific
本実施形態の順位付け部14は、取得された特徴量に基づき、組の順位を決定する。
The ranking
本実施形態の関連判定部12は、決定された順位に従って順次組を選択する。そして、本実施形態の関連判定部12は、選択された組に含まれる組み合わせの各々に対して、第1の実施形態の関連判定部12と同様の動作を行う。本実施形態の関連判定部12は、選択された組に含まれる組み合わせの各々に対して、第2の実施形態の関連判定部12と同様の動作を行ってもよい。本実施形態の関連判定部12は、選択された組に含まれる組み合わせの各々に対して、第3の実施形態の関連判定部12と同様の動作を行ってもよい。本実施形態の特定データ取得部11は、第4の実施形態の特定データ取得部11と同様の動作を行ってもよい。そして、本実施形態の関連判定部12は、選択された組に含まれる組み合わせの各々に対して、第4の実施形態の関連判定部12と同様の動作を行ってもよい。
The
図8は、本実施形態の分析装置1Aの全体の動作の一例を表す図である。
FIG. 8 is a diagram illustrating an example of the overall operation of the
図8に示す、分析装置1AのステップS101とステップS102の動作は、第1の実施形態の分析装置1のステップS101とステップS102の動作と同じである。
The operations of step S101 and step S102 of the
次に、特定データ取得部11は、それぞれ、属性の識別子とその識別子に関連付けられた属性値の組み合わせを1個以上含む、複数の組を取得する(ステップS300)。また、特定データ取得部11は、それぞれの組に関連付けられた特徴量を取得する(ステップS301)。
Next, the specific
特定データ取得部11は、例えば、ユーザが入力装置4を使用して指定した、複数の上述した組を取得する。
The specific
特定データ取得部11は、属性の識別子とその識別子に関連付けられた属性値の組み合わせを1個以上含む、複数のデータを、上述した組として取得してもよい。特定データ取得部11は、例えば、ユーザが入力装置4を使用して指定した、複数のデータを、データベース装置2のデータベース201から取得する。特定データ取得部11は、例えば、ユーザが入力装置4を使用して指定した条件や、あらかじめ指定された条件に合致するデータを、データベース201中のデータから検索してもよい。そして、特定データ取得部11は、検索された複数のデータをデータベース装置2から取得してもよい。
The specific
特定データ取得部11は、例えばデータベース装置2から、取得された組あるいはデータに関連付けられた特徴量を取得する。特徴量は、例えば、データベース201中の同一データが出現する頻度、すなわち、データベース201中に存在する、特徴量が関連付けられるデータと同一のデータの個数である。特徴量は、他の値であってもよい。一つのデータに対して、複数のデータが関連付けられていてもよい。特定データ取得部11は、複数のデータと、それぞれのデータに関連付けられた複数の特徴量を取得してもよい。特徴量は、あらかじめ抽出され、データに関連付けられてデータベース装置2に格納されていてもよい。また、特定データ取得部11が、それぞれのデータの特徴量を抽出してもよい。その場合、特定データ取得部11は、例えば、入力装置4を介してユーザによって指示された特徴量を、それぞれのデータに対して抽出すればよい。
The specific
図9は、特定データ取得部11が取得する、データとデータに関連付けられた特徴量の一例を表す図である。
FIG. 9 is a diagram illustrating an example of data and a feature amount associated with the data acquired by the specific
図9に示す例では、それぞれのデータに、二つの特徴量が関連付けられている。また、データは、属性の識別子と属性値の組み合わせを一つ含む。さらに、データは、属性値が関連付けられていない属性の識別子を2つ含む。 In the example shown in FIG. 9, two feature amounts are associated with each data. The data includes one combination of an attribute identifier and an attribute value. Further, the data includes two identifiers of attributes that are not associated with attribute values.
次に、順位付け部14が、それぞれの組に関連付けられた特徴量に基づき、各組の順位を決定する(ステップS302)。
Next, the ranking
例えば、特徴量が、データベース201中の同一データが出現する頻度である場合、例えば、順位付け部14は、頻度が多い順になるよう、組であるデータの順位を決定する。順位の決定方法は、既存の任意の方法でよい。順位付け部14は、複数の種類の特徴量を使用して、順位を決定してもよい。
For example, when the feature amount is the frequency at which the same data appears in the
次に、特定データ取得部11は、決定された順位に従って、順次一つの組を選択する(ステップS303)。
Next, the specific
そして、特定データ取得部11は、選択された組に含まれる、属性の識別子と、その識別子に関連付けられている属性値の組み合わせを取得する(ステップS304)。
Then, the specific
次に、関連判定部12が、ステップS104の動作を行う。さらに、出力部13が、ステップS105の動作を行う。
Next, the
ステップS104において、関連判定部12は、第1の実施形態の関連判定部12が行うステップS104の動作と同じ動作を行ってもよい。さらに、ステップS105において、出力部13は、第1の実施形態の出力部13が行うステップS105の動作と同じ動作を行ってもよい。
In step S104, the
ステップS104において、関連判定部12は、第2の実施形態の関連判定部12が行うステップS104の動作と同じ動作を行ってもよい。さらに、ステップS105において、出力部13は、第1の実施形態の出力部13が行うステップS105の動作と同じ動作を行ってもよい。
In step S104, the
ステップS104において、関連判定部12は、第3の実施形態の関連判定部12が行うステップS104の動作と同じ動作を行ってもよい。さらに、ステップS105において、出力部13は、第1の実施形態の出力部13が行うステップS105の動作と同じ動作を行ってもよい。
In step S104, the
ステップS104において、関連判定部12は、第4の実施形態の関連判定部12が行うステップS104の動作と同じ動作を行ってもよい。さらに、ステップS105において、出力部13は、第1の実施形態の出力部13が行うステップS105の動作と同じ動作を行ってもよい。
In step S104, the
ステップS105の動作が終了した後、未選択の組あるいはデータが存在する場合(ステップS305でYes)、分析装置1Aの動作は、ステップS302に戻る。
After the operation of step S105 is completed, when there is an unselected set or data (Yes in step S305), the operation of the
ステップS105の動作が終了した後、未選択の組あるいはデータが存在しない場合(ステップS305でNo)、分析装置1Aは動作を終了する。
After the operation of step S105 is completed, if there is no unselected group or data (No in step S305), the
以上で説明した本実施形態には、さらに、分析装置1Aが複数の特定データをに対して処理を行う場合に、処理の順序を制御できるという効果がある。
The present embodiment described above has an effect that the processing order can be controlled when the analyzing
その理由は、順位付け部14が、複数の特定データのそれぞれに関連付けられた特徴量に基づき、処理の順序を決定するからである。
The reason is that the ranking
(第6の実施形態)
次に、本発明の第6の実施形態について、図面を参照して詳細に説明する。
(Sixth embodiment)
Next, a sixth embodiment of the present invention will be described in detail with reference to the drawings.
図16は、本実施形態の分析装置1の構成の例を表すブロック図である。
FIG. 16 is a block diagram illustrating an example of the configuration of the
図16を参照すると、本実施形態の分析装置1は、データベース中の、属性の識別子に関連付けられた前記属性の値である属性値を含むデータに対して、変更を行うプログラムを記憶するプログラム記憶部10と、属性の識別子と、当該識別子に関連付けられた属性値の組み合わせを、取得する特定データ取得部11と、前記プログラムによって行われる処理の解析を行うプログラム解析部15と、前記解析の結果に基づき、前記組み合わせに識別子が含まれる属性の属性値として、前記組み合わせに含まれる前記属性値を含む前記データベース中のデータである特定データに対して、前記プログラムによって変更が行われ得たか否かを判定し、判定結果を求める関連判定部12とを含む
以上で説明した本実施形態には、第1の実施形態と同じ効果がある。
Referring to FIG. 16, the
その理由は、第1の実施形態の効果の理由を同じである。 The reason is the same as the reason for the effect of the first embodiment.
(構成例)
次に、第1の実施形態に基づく本発明の情報処理システム100における、分析装置1の構成例について、図面を参照して詳細に説明する。
(Configuration example)
Next, a configuration example of the
本構成例の分析装置1の構成は、図1に示される第1の実施形態の分析装置1の構成と同じである。
The configuration of the
また、図10から図14までの図は、プログラム記憶部10が記憶するプログラム311が含む、変更命令とその関連箇所の例を、概念的に表す図である。これらの例では、属性名である、A及びBが、属性の識別子である。
FIGS. 10 to 14 are diagrams conceptually showing examples of change commands and related points included in the
プログラム記憶部10が記憶するプログラム311の記述に使用される言語は、特定のデータベース操作言語に限定されない。プログラム311の記述に使用される言語は、データベース201のどの属性をどのように変更するのかを、明示的に表せる言語であればよい。図10から図14までの例は、属性値を更新する更新命令の例である。プログラム311中の変更命令の種別は、これらの図の例に限定されない。プログラム311中の変更命令は、挿入、削除、あるいは、その他の命令であってもよい。
The language used to describe the
図10は、属性Bの属性値が100であるデータの、属性Aの属性を100に更新する更新命令の例である。図10の例では、Updatteが更新命令である。図10の例では、更新命令の場所で、属性値が指定されている。従って、更新命令の場所が、属性値確定箇所である。そして、更新命令の場所が、関連箇所である。図10から図14の例では、関連箇所以外の部分は省略されている。 FIG. 10 shows an example of an update command for updating the attribute A attribute to 100 for the data whose attribute value is 100. In the example of FIG. 10, Update is an update command. In the example of FIG. 10, the attribute value is specified at the location of the update command. Therefore, the location of the update command is the attribute value determination location. The location of the update command is a related location. In the examples of FIGS. 10 to 14, portions other than the related portions are omitted.
図11は、図10と同様に、属性Bの属性値が100であるデータの、属性Aの属性を100に更新する命令の例である。ただし、図11の例では、属性値を格納するための変数が使用される。図11の例で、属性値を格納するための変数は、vaとvbである。図11の例では、まず、vaに100という値が格納される。また、vbに100という値が格納される。これらの変数に格納された値は、更新命令まで、そのまま保たれる。そして、変更命令によって、属性Aの属性値が更新される。図11の例では、二つの変数に属性値が格納される場所が、属性値確定箇所である。また、2つの変数に属性値が格納される場所と、変更命令の場所が、関連箇所である。 FIG. 11 shows an example of an instruction for updating the attribute A attribute to 100 for data whose attribute value is 100 as in FIG. However, in the example of FIG. 11, a variable for storing an attribute value is used. In the example of FIG. 11, the variables for storing the attribute values are va and vb. In the example of FIG. 11, first, a value of 100 is stored in va. Also, a value of 100 is stored in vb. The values stored in these variables are kept as they are until the update instruction. Then, the attribute value of attribute A is updated by the change command. In the example of FIG. 11, the place where the attribute values are stored in the two variables is the attribute value determined place. Further, the location where the attribute value is stored in the two variables and the location of the change command are related locations.
図12は、図10及び図11と同様に、属性Bの属性値が100であるデータの、属性Aの属性を100に更新する命令の例である。図11の例では、行1は、関数simpleが呼び出される場所を表す。また、行2以降の行が、関数simpleで行われる処理を表す。行3は、関数simpleの中で、更新命令が呼び出される場所を表す。行1において、関数simpleの引数として、属性値が定まる。行1の記述により関数simpleが呼び出されることで、行2に記載される変数va及び変数vbに値が格納される。そして、行3の変更命令によって、属性Aの属性値が更新される。図12の例では、行1が属性値確定箇所である。そして、行1、行2、行3が関連箇所である。プログラム解析部15は、図12のような関数呼び出しの構造を解析する。
FIG. 12 is an example of an instruction for updating the attribute A attribute to 100 for data in which the attribute value of the attribute B is 100, as in FIGS. 10 and 11. In the example of FIG. 11,
図13は、属性値Bが入力された値であるデータの属性値Aを、同様に入力された値に更新する命令の例である。図13の1行目は、変数va及び変数vbに、外部から入力された値が格納される。図13の1行目に含まれるSTDINは、一般に、標準入力を表すプログラム記述上の慣用的な語である。図13の例では、例えば、プログラム311を起動したとき、あるいは、プログラム311が実行されている間に、プログラム311に入力される値が、変数va及び変数vbに格納されることを表す。プログラム311に入力される値は、例えば、ユーザが端末から入力する値や、外部のファイルから入力される値である。図13の例では、変数va及び変数vbに格納される値は、プログラム311が実行されるまでは定まらない。図13の1行目が、後述される変数代入箇所である。図13の1行目と変更命令が、関連箇所である。プログラム解析部15は、図13の例のように、プログラム311が実行されるまで具体的な属性値が定まらない場合でも、プログラム311を解析して関連箇所を導出する。
FIG. 13 is an example of an instruction for updating the attribute value A of data, which is the value to which the attribute value B is input, to the same input value. In the first line of FIG. 13, values input from the outside are stored in the variable va and the variable vb. STDIN included in the first line of FIG. 13 is generally an idiomatic word on a program description representing standard input. In the example of FIG. 13, for example, the value input to the
図14は、属性Bの属性値を変化させながら、繰り返し更新命令が実行される例である。図14の例では、行4において、属性Aの属性値が定まる。行4では、属性Aの属性値として更新命令に与えられる変数vaに値が代入される。行5では、0から1000までの値が、順次、変数vbに格納される。そして、変数vbに値が格納される度に、行6の更新命令が実行される。すなわち、属性Bの属性値が、0から1000まで順次増加させられながら、行6の更新命令が実行される。プログラム311が図14のような繰り返し構造を含む場合、プログラム解析部15は、プログラム311を解析することにより、更新命令に与えられる属性値が取りうる値の範囲を特定する。図14の例では、プログラム解析部15は、更新命令に与えられる属性値が格納される変数vbが取りうる値の範囲が、0から1000までであることを特定する。図14の例では、行4が属性値確定箇所である。また、行5が変数代入箇所である。行4、行5、行6が関連箇所である。
FIG. 14 shows an example in which the update instruction is repeatedly executed while changing the attribute value of attribute B. In the example of FIG. 14, the attribute value of attribute A is determined in
以上のように、プログラム311中で注目すべき箇所の一つは、データベース201の更新を実行する命令である更新命令である。また、プログラム311中で注目すべき箇所の一つは、更新命令で指定される属性値が定まる場所である、属性値確定箇所である。属性値確定箇所には、更新命令に与えられる属性値が格納される変数に、特定データ取得部11が取得した属性値が代入される場所も含まれる。さらに、プログラム311中で注目すべき箇所の一つは、更新命令に与えられる属性値が格納される変数に、特定データ取得部11が取得した属性値である可能性がある値が代入される場所である、変数代入箇所である。変数代入箇所は、例えば、プログラム311が起動されたとき、あるいは、プログラム311が実行されている間に、プログラム311に与えられる値が、更新命令に与えられる属性値が格納される変数に代入される場所である。変数代入箇所は、例えば、変数が属性値として与えられる変更命令が繰り返し実行されるプログラム311中のループにおいて、特定データ取得部11が取得した属性値を含む範囲に含まれる値が、順次、更新命令に与えられる変数に代入される場所である。変数代入箇所は、以上の例に限られない。
As described above, one of the points to be noted in the
次に、本構成例の関連判定部12による、関連箇所を特定する動作について、図面を参照して詳細に説明する。
Next, the operation of specifying the related part by the
図15は、本構成例の関連判定部12の、関連箇所を特定する動作の例を表すフローチャートである。図15の動作は、図5や図6に示すステップS114からステップS116までのステップにおいて行われる動作におおむね相当する。
FIG. 15 is a flowchart illustrating an example of an operation of specifying a related portion of the
また、本構成例の出力部13は、判定の結果として、関連箇所を出力する。
In addition, the
プログラム311が特定データに対する変更を行い得ると判定された場合、出力部13は、関連箇所を出力することによって、判定の結果を出力する。また、プログラム311が特定データに対する変更を行い得ると判定された場合、出力部13は、関連箇所が検出されなかったことを出力することによって、判定の結果を出力する。
When it is determined that the
本構成例の分析装置1の他の動作は、図2及び図5に示される、第1の実施形態の分析装置1の動作と同じである。従って、その説明を省略する。
Other operations of the
まず、関連判定部12は、特定データ取得部11が取得した組み合わせに識別子が含まれる属性に対して、属性値が指定される変更命令を、プログラム311中で検出する(ステップS401)。関連判定部12がステップS401で検出する変更命令では、それぞれの属性に対して指定される属性値は、いずれの値であってもよい。
First, the
ステップS401で変更命令が検出されない場合(ステップS402でNo)、関連判定部12は、関連箇所に、特定データ変更命令が存在しないことを表す情報を設定してもよい(ステップS403)。そして、関連判定部12は、図15の動作を終了する。
When the change command is not detected in step S401 (No in step S402), the
次に、関連判定部12は、プログラム311中に記載されている場所が全ての属性の属性値確定箇所でもある、特定データ変更命令を検出する(ステップS404)。前述のように、特定データ変更命令は、特定データ取得部11が取得した組み合わせに識別子が含まれる属性の属性値として、その組み合わせに含まれる属性値が指定される変更命令である。プログラム311中に記載されている場所が全ての属性の属性値確定箇所でもある特定データ変更命令は、例えば、属性値の具体的な値が変更命令の場所に記述されている変更命令である。
Next, the
プログラム311中に記載されている場所が全ての属性の属性値確定箇所でもある、特定データ変更命令が検出された場合(ステップS405でYes)、関連判定部12は、検出された特定データ変更命令を、関連箇所にする(ステップS406)。そして、関連判定部12は、図15の動作を終了する。
When a specific data change command is detected in which the location described in the
プログラム311中で記載されている場所が全ての属性の属性値確定箇所でもある、特定データ変更命令が検出されない場合(ステップS405でNo)、関連判定部12の動作は、ステップS407に進む。前述のように、プログラム311中で記載されている場所が属性値確定箇所でない属性は、例えば、変更命令に対して指定される属性値が変数として記述されている変更命令である。
When the specific data change command is not detected in which the location described in the
次に、関連判定部12は、特定データ変更命令の場所が属性値確定箇所でない属性の属性値が、特定データ取得部11が取得した属性値であることが確定する、属性値確定箇所を検出する(ステップS407)。属性値確定箇所は、例えば、属性値が格納される変数に、具体的な値が代入される場所である。属性値確定箇所は、変更命令に対して指定される属性値の具体的な値が記述されている、他の種類の場所であってもよい。
Next, the
属性値確定箇所が検出された場合(ステップS408でYes)、関連判定部12は、検出された、変更命令と属性値確定箇所を、関連箇所にする(ステップS409)。そして、関連判定部12は、図15の動作を終了する。
When the attribute value fixed location is detected (Yes in step S408), the
属性値確定箇所が検出されない場合(ステップS408でNo)、関連判定部12は、変数代入箇所を検出する(ステップS410)。すなわち、関連判定部12は、ステップS404において検出された更新命令に与えられる属性値が格納される変数に、何らかの値が代入される場所を検出する。関連判定部12は、さらに、その変数に代入される値が、特定データ取得部11が取得した、その変数が属性値として指定される属性の識別子と同じ組み合わせに含まれる属性値である可能性があるか否かを判定する。例えばプログラム311が実行されている間に入力される値が、変数に代入される場合、その値は、特定データ取得部11が取得した属性値である可能性がある。また、特定データ取得部11が取得した属性値を含む範囲に含まれる値が変数に代入される場合、特定データ取得部11が取得した属性値が、変数に代入される可能性がある。
When the attribute value fixed place is not detected (No in step S408), the
変数代入箇所が検出された場合(ステップS411でYes)、関連判定部12は、検出された、変更命令と変数代入箇所を、関連箇所にする(ステップS412)。そして、関連判定部12は、図15の動作を終了する。
When a variable substitution location is detected (Yes in step S411), the
変数代入箇所が検出されない場合(ステップS411でNo)、関連判定部12は、関連箇所に、特定データ変更命令が存在しないことを表す情報を設定してもよい(ステップS413)。関連判定部12は、関連箇所に、ステップS401で検出された変更命令と、特定データ変更命令が存在しないことを表す情報を設定してもよい。そして、関連判定部12は、図15の動作を終了する。
When the variable substitution part is not detected (No in Step S411), the
なお、関連判定部12は、プログラム311に含まれる全ての変更命令に対して、図15に示される動作を繰り返してもよい。
Note that the
以上で説明した各実施形態の、分析装置1、データベース装置2、アクセス装置3、入力装置4、出力装置5は、それぞれ、コンピュータ及びそのコンピュータを制御するプログラム、専用のハードウェア、又は、コンピュータ及びそのコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。
The
図17は、分析装置1を実現するために使用される、コンピュータ1000の構成の一例を表す図である。図17を参照すると、コンピュータ1000は、プロセッサ1001と、メモリ1002と、記憶装置1003と、I/O(Input/Output)インタフェース1004とを含む。また、コンピュータ1000は、記録媒体1005にアクセスすることができる。メモリ1002と記憶装置1003は、例えば、RAM(Random Access Memory)、ハードディスクなどの記憶装置である。記録媒体1005は、例えば、RAM、ハードディスクなどの記憶装置、ROM(Read Only Memory)、可搬記録媒体である。記憶装置1003が記録媒体1005であってもよい。プロセッサ1001は、メモリ1002と、記憶装置1003に対して、データやプログラムの読み出しと書き込みを行うことができる。プロセッサ1001は、I/Oインタフェース1004を介して、例えば、データベース装置2が記憶するデータベース201にアクセスすることができる。プロセッサ1001は、記録媒体1005にアクセスすることができる。記録媒体1005には、コンピュータ1000を分析装置1として動作させるプログラムが格納されている。
FIG. 17 is a diagram illustrating an example of a configuration of a
プロセッサ1001は、記録媒体1005に格納されている、コンピュータ1000を分析装置1として動作させるプログラムを、メモリ1002にロードする。そして、プロセッサ1001が、メモリ1002にロードされたプログラムを実行することにより、コンピュータ1000は分析装置1として動作する。
The
特定データ取得部11、関連判定部12、出力部13、順位付け部14、プログラム解析部15、アクセス処理部21は、例えば、プログラムを記憶する記録媒体1005からメモリに読み込まれた、各部の機能を実現するための専用のプログラムと、そのプログラムを実行するプロセッサ1001により実現することができる。また、プログラム記憶部10、データベース記憶部20は、コンピュータ1000が含むメモリ1002やハードディスク装置等の記憶装置1003により実現することができる。あるいは、プログラム記憶部10、特定データ取得部11、関連判定部12、出力部13、順位付け部14、プログラム解析部15、データベース記憶部20、アクセス処理部21の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
For example, the specific
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 The present invention has been described above with reference to the embodiments, but the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
1、1A 分析装置
2 データベース装置
3 アクセス装置
4 入力装置
5 出力装置
10 プログラム記憶部
11 特定データ取得部
12 関連判定部
13 出力部
14 順位付け部
15 プログラム解析部
20 データベース記憶部
21 アクセス処理部
30 CPU
31 メモリ
100、100A 情報処理システム
201 データベース
311 プログラム
1000 コンピュータ
1001 プロセッサ
1002 メモリ
1003 記憶装置
1004 I/Oインタフェース
1005 記録媒体
DESCRIPTION OF
31
Claims (10)
属性の識別子と、当該識別子に関連付けられた属性値の組み合わせを、取得する特定データ取得手段と、
前記プログラムによって行われる処理の解析を行うプログラム解析手段と、
前記解析の結果に基づき、前記組み合わせに識別子が含まれる属性の属性値として、前記組み合わせに含まれる前記属性値を含む前記データベース中のデータである特定データに対して、前記プログラムによって変更が行われ得たか否かを判定し、判定結果を求める関連判定手段と
を含む分析装置。 Program storage means for storing a program for making a change to data including an attribute value that is the value of the attribute associated with the identifier of the attribute in the database;
Specific data acquisition means for acquiring a combination of an attribute identifier and an attribute value associated with the identifier;
Program analysis means for analyzing the processing performed by the program;
Based on the result of the analysis, as the attribute value of the attribute whose identifier is included in the combination, specific data that is data in the database including the attribute value included in the combination is changed by the program. And an association determination means for determining whether or not it is obtained and obtaining a determination result.
前記関連判定手段は、前記属性値確定場所と、前記変更命令の場所とを出力する出力手段を含む
請求項1に記載の分析装置。 The association determination means includes: an attribute value determination place where the attribute value included in the combination is designated as an attribute value of the attribute associated with the attribute value; and the attribute including the identifier in the combination The attribute value associated with the identifier is specified as the attribute value, and the location of the change instruction for changing the data is specified in the program,
The analysis apparatus according to claim 1, wherein the association determination unit includes an output unit that outputs the attribute value determination place and the change instruction place.
前記分析装置は、さらに、前記特徴量に基づいて、前記組の順位を決定する順位付け手段を含み、
前記関連判定手段は、決定された前記順位に従った順番で、前記組の各々に対して、前記関連判定を行う
請求項1又は2に記載の分析装置。 The specific data acquisition means acquires one or more sets and feature quantities associated with each of the sets,
The analysis apparatus further includes a ranking unit that determines the rank of the set based on the feature amount,
The analysis device according to claim 1, wherein the association determination unit performs the association determination on each of the groups in an order according to the determined rank.
前記特定データ取得手段は、前記データベース装置から、所定の条件に合致する、前記属性の識別子と前記属性の属性値との組み合わせを取得する
情報処理システム。 A database device that stores the database; and the analyzer according to any one of claims 1 to 3 that is communicable with the database device.
The specific data acquisition unit acquires a combination of an identifier of the attribute and an attribute value of the attribute that meets a predetermined condition from the database device.
属性の識別子と、当該識別子に関連付けられた属性値の組み合わせを、取得し、
前記プログラムによって行われる処理の解析を行い、
前記解析の結果に基づき、前記組み合わせに識別子が含まれる属性の属性値として、前記組み合わせに含まれる前記属性値を含む前記データベース中のデータである特定データに対して、前記プログラムによって変更が行われ得たか否かを判定し、判定結果を求める
分析方法。 A program for changing the data including the attribute value that is the value of the attribute associated with the attribute identifier in the database is stored in the program storage unit,
Obtain a combination of an attribute identifier and the attribute value associated with the identifier,
Analyzing the processing performed by the program,
Based on the result of the analysis, as the attribute value of the attribute whose identifier is included in the combination, specific data that is data in the database including the attribute value included in the combination is changed by the program. An analysis method that determines whether or not it has been obtained and obtains the determination result.
前記属性値確定場所と、前記変更命令の場所とを出力する
請求項5に記載の分析方法。 The attribute value included in the combination includes an attribute value determination location specified as the attribute value of the attribute associated with the attribute value, and the attribute value of the attribute including the identifier in the combination, A location of a change instruction for changing the data, in which the attribute value associated with an identifier is specified, is specified in the program;
The analysis method according to claim 5, wherein the attribute value confirmation location and the location of the change instruction are output.
前記特徴量に基づいて、前記組の順位を決定し、
決定された前記順位に従った順番で、前記組の各々に対して、前記関連判定を行う
請求項5又は6に記載の分析方法。 Obtaining one or more sets and feature quantities associated with each of the sets;
Based on the feature amount, the order of the set is determined,
The analysis method according to claim 5 or 6, wherein the association determination is performed on each of the sets in an order according to the determined rank.
データベース中の、属性の識別子に関連付けられた前記属性の値である属性値を含むデータに対して、変更を行うプログラムを記憶するプログラム記憶手段と、
属性の識別子と、当該識別子に関連付けられた属性値の組み合わせを、取得する特定データ取得手段と、
前記プログラムによって行われる処理の解析を行うプログラム解析手段と、
前記解析の結果に基づき、前記組み合わせに識別子が含まれる属性の属性値として、前記組み合わせに含まれる前記属性値を含む前記データベース中のデータである特定データに対して、前記プログラムによって変更が行われ得たか否かを判定し、判定結果を求める関連判定手段と
して動作させる分析プログラム。 Computer
Program storage means for storing a program for making a change to data including an attribute value that is the value of the attribute associated with the identifier of the attribute in the database;
Specific data acquisition means for acquiring a combination of an attribute identifier and an attribute value associated with the identifier;
Program analysis means for analyzing the processing performed by the program;
Based on the result of the analysis, as the attribute value of the attribute whose identifier is included in the combination, specific data that is data in the database including the attribute value included in the combination is changed by the program. An analysis program that determines whether or not it has been obtained and operates as a related determination means for determining the determination result.
前記組み合わせに含まれる前記属性値が、当該属性値に識別子が関連付けられている前記属性の属性値として指定される属性値確定場所と、前記組み合わせに識別子が含まれる前記属性の属性値として、前記識別子に関連付けられている前記属性値が指定された、前記データに対して変更を行う変更命令の場所とを、前記プログラム中で特定する前記関連判定手段と、
前記属性値確定場所と、前記変更命令の場所とを出力する出力手段を含む前記関連判定手段と、
して動作させる請求項8に記載の分析プログラム。 Computer
The attribute value included in the combination includes an attribute value determination location specified as the attribute value of the attribute associated with the attribute value, and the attribute value of the attribute including the identifier in the combination, The association determination means for specifying in the program a location of a change instruction for making a change to the data, in which the attribute value associated with an identifier is specified;
The association determination means including an output means for outputting the attribute value determination location and the location of the change instruction;
The analysis program according to claim 8, which is operated as described above.
前記組を1個以上と、前記組の各々に関連付けられた特徴量を取得する前記特定データ取得手段と、
前記特徴量に基づいて、前記組の順位を決定する順位付け手段と、
決定された前記順位に従った順番で、前記組の各々に対して、前記関連判定を行う前記関連判定手段と、
して動作させる請求項8又は9に記載の分析プログラム。 Computer
One or more sets, and the specific data acquisition means for acquiring feature quantities associated with each of the sets;
Ranking means for determining the rank of the set based on the feature amount;
The association determination means for performing the association determination for each of the sets in an order according to the determined rank;
The analysis program according to claim 8 or 9, wherein the analysis program is operated.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013123541A JP2014241071A (en) | 2013-06-12 | 2013-06-12 | Analysis system, analysis method, and analysis program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013123541A JP2014241071A (en) | 2013-06-12 | 2013-06-12 | Analysis system, analysis method, and analysis program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014241071A true JP2014241071A (en) | 2014-12-25 |
Family
ID=52140281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013123541A Pending JP2014241071A (en) | 2013-06-12 | 2013-06-12 | Analysis system, analysis method, and analysis program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014241071A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190118618A (en) * | 2017-03-17 | 2019-10-18 | 엔에스 솔루션즈 가부시끼가이샤 | Information processing apparatus, information processing method and recording medium |
-
2013
- 2013-06-12 JP JP2013123541A patent/JP2014241071A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190118618A (en) * | 2017-03-17 | 2019-10-18 | 엔에스 솔루션즈 가부시끼가이샤 | Information processing apparatus, information processing method and recording medium |
KR102275032B1 (en) * | 2017-03-17 | 2021-07-07 | 엔에스 솔루션즈 가부시끼가이샤 | Information processing apparatus, information processing method and recording medium |
US11620406B2 (en) | 2017-03-17 | 2023-04-04 | Ns Solutions Corporation | Information processing device, information processing method, and recording medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102230661B1 (en) | SQL review methods, devices, servers and storage media | |
US10152488B2 (en) | Static-analysis-assisted dynamic application crawling architecture | |
JP6493506B1 (en) | INDUSTRIAL CONTROL SYSTEM, ITS SUPPORT DEVICE, CONTROL SUPPORT METHOD AND PROGRAM | |
AU2018203442B2 (en) | Program code comparison and reporting | |
CN117453713A (en) | SQL sentence generation method, device and storage medium for multi-type database | |
KR101986476B1 (en) | Program writing device | |
US9164991B2 (en) | Document management system and method thereof | |
US10310958B2 (en) | Recording medium recording analysis program, analysis method, and analysis apparatus | |
US20130218928A1 (en) | Information processing device | |
JP2014241071A (en) | Analysis system, analysis method, and analysis program | |
JP6122742B2 (en) | Specification change support apparatus, information processing method, and program | |
JP4899544B2 (en) | Program analysis method, program, and program analysis apparatus | |
US10977282B2 (en) | Generating device, generating method, and non-transitory computer-readable recording medium | |
US20220206934A1 (en) | Test apparatus, test method and program | |
CN116627409A (en) | Method, device, equipment and storage medium for replacing fields of low-code page | |
US8775873B2 (en) | Data processing apparatus that performs test validation and computer-readable storage medium | |
JP6217440B2 (en) | Symbolic execution program, symbolic execution method, and symbolic execution device | |
CN110286894B (en) | Script generation method, script generation device, computer equipment and storage medium | |
JP5076290B2 (en) | Operation management rule diversion device, operation management rule diversion method, and program | |
JP6091471B2 (en) | Source code analysis apparatus, source code analysis method, and source code analysis program | |
CN113778450A (en) | Processing method, device and equipment for dependency conflict and storage medium | |
JP2018092466A (en) | Change impact research support device, change impact research support method, and change impact research support program | |
JP2021117763A (en) | Computer system and data access control method | |
CN114385584B (en) | A data writing method and a data reading method | |
JP2013125429A (en) | Analysis object determination device |