JP5626554B2 - 同一性判定装置、同一性判定方法、及び同一性判定用プログラム - Google Patents

同一性判定装置、同一性判定方法、及び同一性判定用プログラム Download PDF

Info

Publication number
JP5626554B2
JP5626554B2 JP2009057576A JP2009057576A JP5626554B2 JP 5626554 B2 JP5626554 B2 JP 5626554B2 JP 2009057576 A JP2009057576 A JP 2009057576A JP 2009057576 A JP2009057576 A JP 2009057576A JP 5626554 B2 JP5626554 B2 JP 5626554B2
Authority
JP
Japan
Prior art keywords
program execution
execution result
document
document structure
structured document
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
JP2009057576A
Other languages
English (en)
Other versions
JP2010211567A (ja
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009057576A priority Critical patent/JP5626554B2/ja
Publication of JP2010211567A publication Critical patent/JP2010211567A/ja
Application granted granted Critical
Publication of JP5626554B2 publication Critical patent/JP5626554B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、同一性判定装置に関し、特に構造化文書の同一性判定装置に関する。
従来のメトリクス計測においては、プログラム自体の機能の進歩等によって、計測するプログラムを交換する場合に、指標値の名称及び計測方法が標準化されていないために、また、プログラムが通常多数の指標値を同時に出力するために、新しいプログラムで計測した結果と、従来のプログラムで計測した結果との対応付け及び比較がし辛い(困難である)という課題があった。
同様の機能を持ち、実行の結果として、構造化された文書を生成するプログラムは多数存在するが、例え同じ意味の結果項目でも、出力されたそれぞれの文書の構造、及び構造要素名は異なっていることが多い。また、実行に使用するアルゴリズムの違いから、同じ結果項目でも構造要素の値が完全に一致しないこともある。
特開2004−102926号公報(特許文献1)においては、本来同一の意味を持った文書において、同一の識別子を判定する方法が記述されている。しかし、この方式では、形式として同一の構造化文書した判定することができず、識別子名が異なるが同一の意味を持つ要素を識別する場合や、構造が異なるが同一の識別子名を持つ要素を識別する場合等に、同一性を判定することができないという問題があった。
また、ある構造化文書を入力として、構造化文書の各要素の値を取り出して利用するプログラムが存在する場合、構造化文書の要素名称、及び要素の順番が異なる構造化文書が入力されると、構造化文書の構造を理解した上で、プログラムの書き換えが必要となるという問題があった。
また、関連する技術として、特開2003−058523号公報(特許文献2)に構造化文書の変換ルール作成方法、及び装置と変換ルール作成プログラム、及び該プログラムを記録した記録媒体が開示されている。この関連技術では、変換ルール生成要求を受け取ると、各構造化文書のスキーマをデータベースから取得する。このスキーマからタグ名(構造要素名)を抽出して比較し、一致する場合にはタグ名の対応関係を変換ルールとし、一致しない場合にはタグ名の同義語を用いたタグ名の対応関係を変換ルールとして追加してスキーマの変換ルールを変換ルール自動生成部で生成する。この変換ルールをユーザに提示して確認、修正を依頼し、ユーザにより確認修正された変換ルールを変換ルール蓄積装置に格納し、該変換ルールに基づき構造化文書間のスキーマの変換を変換部で行なう。
更に、特開平06−259421号公報(特許文献3)に文書処理装置が開示されている。この関連技術では、メモリには、文書構造要素同志の接続関係が記述された情報を示すパターン記述情報が格納されている。また、文書ファイルには、構造化文書が格納されている。解釈部は、パターン記述情報を解釈して、階層構造を表現している文書構造パターンを生成し、この文書構造パターンをメモリに格納する。再編成部は、文書ファイルの構造化文書を走査(scan)して、照合処理可能な形式の構造に再編成し、この結果である再編成構造化文書をメモリに格納する。照合部は、文書構造パターンと再編成構造化文書とを照合する。出力処理部は、照合部の照合により一致したものを出力する。
特開2004−102926号公報 特開2003−058523号公報 特開平06−259421号公報
本発明の目的は、定義が不明な構造化文書が保持する値と、定義が既知の構造化文書が保持する値との同一性及び近似性を判定し、定義が不明な構造化文書の各要素と、定義が既知の構造化文書の各要素を対応づけることで、定義が不明な構造化文書の構造を判定する同一性判定装置を提供することである。
本発明の同一性判定装置は、所定のプログラムを実行することにより出力された「文書構造が不明なプログラム実行結果」と、所定のプログラムと同様の目的を持つプログラムを実行することにより出力された「文書構造が既知のプログラム実行結果」とを入力として受け付ける入力手段と、入力された両方のプログラム実行結果の構造要素及び要素値の対応付けを行ない、対応付けが行われた特定の要素の構造同士を変換するルールを示す構造化文書変換ルールを生成する同一性判定手段と、生成された構造化文書変換ルールを出力する出力手段とを具備する。
本発明の同一性判定方法では、所定のプログラムを実行することにより出力された「文書構造が不明なプログラム実行結果」と、所定のプログラムと同様の目的を持つプログラムを実行することにより出力された「文書構造が既知のプログラム実行結果」とを入力として受け付け、入力された両方のプログラム実行結果の構造要素及び要素値の対応付けを行ない、対応付けが行われた特定の要素の構造同士を変換するルールを示す構造化文書変換ルールを生成し、生成された構造化文書変換ルールを出力する。
本発明の同一性判定用プログラムは、所定のプログラムを実行することにより出力された「文書構造が不明なプログラム実行結果」と、所定のプログラムと同様の目的を持つプログラムを実行することにより出力された「文書構造が既知のプログラム実行結果」とを入力として受け付けるステップと、入力された両方のプログラム実行結果の構造要素及び要素値の対応付けを行ない、対応付けが行われた特定の要素の構造同士を変換するルールを示す構造化文書変換ルールを生成するステップと、生成された構造化文書変換ルールを出力するステップとをコンピュータに実行させるためのプログラムである。
表示プログラムを変更することなく、例えばメトリクス計測プログラム等の、より性能の高いプログラムを使用することができる。
本発明の第1実施形態の同一性判定装置の構成例を示すブロック図である。 文書構造が既知のプログラム実行結果の標準構造化文書、及び文書構造が不明なプログラム実行結果がXML(Extensible Markup Language)形式の場合の例を示す図である。 文書構造が既知のプログラム実行結果の例を示す図である。 文書構造が既知のプログラム実行結果の標準構造化文書がXML形式の場合の例を示す図である。 文書構造が不明なプログラム実行結果がXML形式の場合の例を示す図である。 同一項目判定要素がXML形式の場合の例を示す図である。 構造化文書変換ルールの例を示す図である。 本発明の第1実施形態の全体の動作を示すフローチャートである。 文書構造が既知のプログラム実行結果の標準構造化文書の特定要素の組の例を示す図である。 文書構造が既知のプログラム実行結果の標準構造化文書のそれぞれの特定要素に紐付いた指標を示す図である。 文書構造が不明なプログラム実行結果の特定要素が繰り返される位置と特定属性の例を示す図である。 文書構造が不明なプログラム実行結果の特定要素に紐付いた指標の例を示す図である。 本発明の第2実施形態の同一性判定装置の構成例を示すブロック図である。 文書構造が不明なプログラム実行結果の標準構造化文書の例を示す図である。 本発明の第3実施形態の同一性判定装置の構成例を示すブロック図である。 類義語集の例を示す図である。
<第1実施形態>
以下に、本発明の第1実施形態について添付図面を参照して説明する。
図1に示すように、本発明の第1実施形態の同一性判定装置100は、第1の標準構造化文書変換部101と、同一項目判定部102と、第1の同一要素値判定部103を含む。
第1の標準構造化文書変換部101は、定義済みの構造化文書変換ルールを基に、文書構造が既知のプログラム実行結果1を、文書構造が既知のプログラム実行結果の標準構造化文書2に変換する。文書構造が既知のプログラム実行結果1は、あるプログラムを実行することにより出力されたプログラム実行結果である。
定義済みの構造化文書変換ルールとは、この後で説明する構造化文書変換ルール5と同等な変換ルールを指している。また、上記の変換の手段は、この後で説明する第2の標準構造化文書変換部104と同等の処理を行なう手段のことである。
同一項目判定部102は、文書構造が不明なプログラム実行結果3を読み取り、文書構造が既知のプログラム実行結果の標準構造化文書2に記述された特定の要素(例えば、要素「ファイル名」)の情報を表わす同一項目判定要素4を基にして、文書構造が不明なプログラム実行結果3に記述された当該要素単位に記述された要素の固まりを識別する。なお、文書構造が不明なプログラム実行結果3は、文書構造が既知のプログラム実行結果1と同一の対象に対して、文書構造が既知のプログラム実行結果1を出力させたプログラムと同様の目的を持つ新規のプログラムを実行した結果である。
ファイル名の表記にゆれがある可能性がある場合は、例えば、特開2004−102926号公報(特許文献1)の規範化処理(S102)を利用して、事前に表記をそろえてから同一項目判定部102を実施する。
図2に、文書構造が既知のプログラム実行結果の標準構造化文書2及び文書構造が不明なプログラム実行結果3がXML(Extensible Markup Language)形式の場合の例を記述している。但し、実際には、XML形式に限定されない。この例においては、同一項目判定部102は、要素「factor1」と「elementY」の対応付けを行なう。
第1の同一要素値判定部103は、文書構造が不明なプログラム実行結果3に記述された特定の構造要素単位の指標と、文書構造が既知のプログラム実行結果の標準構造化文書2に記述された当該構造要素単位の指標を比較して、同じ指標値として記述された指標の対応付けを行なう。
第1の同一要素値判定部103は、指標の対応付けにおいて、同一項目判定部102で同一と判定された要素を除いて、判定処理を実行する。
また、第1の同一要素値判定部103は、指標の対応付けが行われた「特定の要素の構造」同士を変換するルールを、構造化文書変換ルール5として出力する。なお、実際には、第1の同一要素値判定部103は、構造化文書変換ルール5を同一性判定装置100の外部に出力するとは限らない。例えば、第1の同一要素値判定部103は、同一性判定装置100の内部の記憶装置等に出力して記憶するようにしても良い。
ここでは、構造化文書変換ルール5は、文書構造が不明なプログラム実行結果3の「特定の要素の構造」を、文書構造が既知のプログラム実行結果の標準構造化文書2の「特定の要素の構造」に変換するルールである。
図3に、文書構造が既知のプログラム実行結果1の例を記述している。
図4に、文書構造が既知のプログラム実行結果の標準構造化文書2がXML形式の場合の例を記述している。但し、実際には、XML形式に限定されない。
図5に、文書構造が不明なプログラム実行結果3がXML形式の場合の例を記述している。但し、実際には、XML形式に限定されない。
また、図6に、同一項目判定要素4がXML形式の場合の例を記述している。但し、実際には、XML形式に限定されない。
図4の文書構造が既知のプログラム実行結果の標準構造化文書2では、図6の同一項目判定要素4で指定された特定の位置「file」タグ毎に、特定の構造要素としてその子要素の「name」要素で指定されたプログラムの実行結果の例として、ソースコードメトリクスの計測結果が「file」タグ内に保存されている。
図5の文書構造が不明なプログラム実行結果3では、「path」タグの「name」属性で指定されたファイルのメトリクスの結果が同じく「path」タグ内に保存されている。
第1の同一要素値判定部103は、パスの文字列マッチングを実施することで、図5における構造化文書要素「path」が図4における構造化文書要素「file」と同一の情報を持つ要素と判断する。
第1の同一要素値判定部103は、図5の文書構造が不明なプログラム実行結果3の「path」要素の構造を、図4の文書構造が既知のプログラム実行結果の標準構造化文書2の「file」要素の構造に変換するルールを、構造化文書変換ルール5として出力する。
図7に、構造化文書変換ルール5の例を記述している。
図7は、図5に示すXML文書を「文書構造が不明なプログラム実行結果3」とし、図4に示すXML文書を「文書構造が既知のプログラム実行結果の標準構造化文書2」として、その変換ルールを記述したものである。各メトリクスの計測アルゴリズムが正確に同じで、同一の値が出力される場合、子要素を含む「file」タグ以下の要素の各属性値や要素のテキスト値を抽出して比較することにより、標準計測結果変換ルール8を作成することができる。
次に、図8のフローチャートを参照して、本実施形態の全体の動作について詳細に説明する。
(1)ステップS101
第1の標準構造化文書変換部101は、定義済みの構造化文書変換ルールを基に、文書構造が既知のプログラム実行結果1を、文書構造が既知のプログラム実行結果の標準構造化文書2に変換する。
(2)ステップS102
同一項目判定部102は、同一項目判定要素4で指定されたパスの情報を基に、文書構造が既知のプログラム実行結果の標準構造化文書2の特定要素の組21と、それぞれの特定要素に紐付いた指標22を抽出する。
図9に、特定要素の組21の例が記述してある。
図9の特定要素の組21では、図4の文書構造が既知のプログラム実行結果の標準構造化文書2において、図6の同一項目判定要素4で指定された特定の位置「file」タグ毎に、特定の構造要素としてその子要素の「name」要素で指定されたプログラムの所在情報「D:¥aaa¥xxx.java」、及び「D:¥aaa¥yyy.java」が抽出されている。
図10に、指標22の例が記述してある。
図10の指標22では、図9の特定要素の組21において、特定の構造要素としてその子要素の「name」要素で指定された「D:¥aaa¥xxx.java」、及び「D:¥aaa¥yyy.java」に紐付いた子要素を含む「file」タグ以下の要素の各属性値や要素のテキスト値「file/tloc/text()」と、「file/eloc/text()」と、「file/cloc/text()」と、「file/bloc/text()」が抽出されている。
(3)ステップS103
同一項目判定部102は、特定要素の組21の任意の要素に対して、文書構造が不明なプログラム実行結果3の要素と文字列マッチングをとることで、特定要素が繰り返される位置と特定属性31を抽出する。すなわち、同一項目判定部102は、特定要素の組21の任意の要素と、文書構造が不明なプログラム実行結果3の要素とを、両方の要素の文字列同士が一致するか否かを判定し、一致していれば、この文書構造が不明なプログラム実行結果3の要素を特定要素とし、特定要素が繰り返される位置と特定属性31を抽出する。
図11に、特定要素が繰り返される位置と特定属性31の例が記述してある。
図11の特定要素が繰り返される位置と特定属性31では、図5の文書構造が不明なプログラム実行結果3の「path」要素が特定要素であり、その子要素の「name」要素が特定属性であるため、特定要素が繰り返される位置「result/path」と、特定属性「path[@att=‘name’]」が抽出されている。
(4)ステップS104
同一項目判定部102は、特定要素が繰り返される位置と特定属性31を基に、文書構造が不明なプログラム実行結果3から特定要素に紐付いた指標32を抽出する。
図12に、指標32の例が記述してある。
図12の指標32では、図5の文書構造が不明なプログラム実行結果3の「path」要素が特定要素であり、「path」タグ以下の要素の各属性値や要素のテキスト値「path[@att=‘loc’]」、「path/eloc/text()」、「path/blank/text()」、「path/comment/text()」が抽出されている。
(5)ステップS105
第1の同一要素値判定部103は、指標22の各要素毎に以下の処理を実行する。
(6)ステップS106
第1の同一要素値判定部103は、特定要素の組21の各要素毎に以下の処理を実行する。
(7)ステップS107
第1の同一要素値判定部103は、特定要素が繰り返される位置と特定属性31を基に、文書構造が不明なプログラム実行結果3から当該要素に紐付いた情報が格納された部分を識別する。
(8)ステップS108
第1の同一要素値判定部103は、指標32の各要素毎に以下の処理を実行する。
(9)ステップS109
第1の同一要素値判定部103は、指標22の指標値と指標32の指標値の差分の2乗10を計算する。
(10)ステップS110
第1の同一要素値判定部103は、差分の2乗10を指標22の要素毎に足し合わせる。
(11)ステップS111
第1の同一要素値判定部103は、一番小さな差分の2乗10に対応した指標22と指標32を対応付けて、構造化文書変換ルール5に追加する。
以上の動作により、正確に値の一致する、図5の「loc」タグの表わす指標と図4の「tloc」タグの表わす指標、図5の「blank」タグの表わす指標と図4の「bloc」タグの表わす指標が、それぞれ対応付けられる。
また、図5の「comment」タグの表わす指標と図4の「cloc」タグの表わす指標も値が近似しているということで対応付けることができる。
本発明の第1実施形態を利用することにより、表示プログラムを変更することなく、より性能の高いプログラム、例えばメトリクス計測プログラムを使用することができるようになる。その理由は、新しく使用するメトリクスプログラムで計測した結果である文書構造が不明なプログラム実行結果3と、これまで利用していたメトリクスプログラムで計測した結果である文書構造が既知のプログラム実行結果1を同一性判定装置100の入力として渡して、標準計測結果変換ルーツ8を出力することにより、容易に新しく使用するメトリクスプログラムの結果構造を判定することができるからである。
<第2実施形態>
以下に、本発明の第2実施形態について説明する。
図13に示すように、本発明の第2実施形態の同一性判定装置100は、第1の標準構造化文書変換部101と、同一項目判定要素4と、同一項目判定部102と、第1の同一要素値判定部103と、第2の標準構造化文書変換部104を含む。
第1の標準構造化文書変換部101は、定義済みの構造化文書変換ルールを基に、文書構造が既知のプログラム実行結果1を、文書構造が既知のプログラム実行結果の標準構造化文書2に変換する。
定義済みの構造化文書変換ルールとは、構造化文書変換ルール5と同等な変換ルールを指している。また、上記の変換の手段は、この後で説明する第2の標準構造化文書変換部104と同等の処理を行なう手段のことである。
同一項目判定部102は、文書構造が既知のプログラム実行結果の標準構造化文書2に記述された特定の要素(例えば、要素「ファイル名」)の情報を表わす同一項目判定要素4を基にして、文書構造が不明なプログラム実行結果3に記述された当該要素単位に記述された要素の固まりを識別する。なお、文書構造が不明なプログラム実行結果3は、文書構造が既知のプログラム実行結果1と同一の対象に対して、新規のプログラムを実行した結果である。
ファイル名の表記にゆれがある可能性がある場合、特開2004−102926号公報(特許文献1)の規範化処理(S102)を利用して、事前に表記をそろえてから同一項目判定部102を実施する。
第1の同一要素値判定部103は、文書構造が不明なプログラム実行結果3に記述された特定の構造要素単位の指標と、文書構造が既知のプログラム実行結果の標準構造化文書2に記述された当該構造要素単位の指標を比較して、同じ指標値として記述された指標の対応付けを行なう。
第1の同一要素値判定部103は、指標の対応付けにおいて、同一項目判定部102で同一と判定された要素を除いて、判定処理を実行する。
また、第1の同一要素値判定部103は、図5の文書構造が不明なプログラム実行結果3の構造を図4の文書構造が既知のプログラム実行結果の標準構造化文書2の構造に変換するルールを、構造化文書変換ルール5として出力する。
第2の標準構造化文書変換部104は、構造化文書変換ルール5に従って、文書構造が不明なプログラム実行結果3を、文書構造が不明なプログラム実行結果の標準構造化文書6に変換する。なお、文書構造が不明なプログラム実行結果の標準構造化文書6は、文書構造が既知のプログラム実行結果の標準構造化文書2と同じ構造に従った標準構造化文書である。
本発明の第2実施形態の同一性判定装置100は、第2の標準構造化文書変換部104を有することで、構造変換装置として機能する。
図14に、文書構造が不明なプログラム実行結果の標準構造化文書6の例を記述している。
図14は、図3に示すXML文書を「文書構造が既知のプログラム実行結果1」とし、図2に示すXML文書を「文書構造が既知のプログラム実行結果の標準構造化文書2」として、標準計測結果変換ルール5を基に、図3の「文書構造が既知のプログラム実行結果1」を標準形式に変換したものである。
本発明の第2実施形態を利用することにより、計測するメトリクスプログラムの交換が容易になる。その理由は、第2の標準構造化文書変換部104によって、文書構造が不明なプログラム実行結果3を、文書構造が不明なプログラム実行結果の標準構造化文書6に自動で変換することができるからである。
<第3実施形態>
以下に、本発明の第3実施形態について説明する。
図15に示すように、本発明の第3実施形態の同一性判定装置100は、第1の標準構造化文書変換部101と、同一項目判定要素4と、同一項目判定部102と、第2の同一要素値判定部105と、類義語集7を含む。
第1の標準構造化文書変換部101は、定義済みの構造化文書変換ルールを基に、文書構造が既知のプログラム実行結果1を、文書構造が既知のプログラム実行結果の標準構造化文書2に変換する。
定義済みの構造化文書変換ルールとは、構造化文書変換ルール5と同等な変換ルールを指している。また、上記の変換の手段は、第2の標準構造化文書変換部104と同等の処理を行なう手段のことである。
同一項目判定部102は、文書構造が既知のプログラム実行結果の標準構造化文書2に記述された特定の要素(例えば、要素「ファイル名」)の情報を表わす同一項目判定要素4を基にして、文書構造が不明なプログラム実行結果3に記述された当該要素単位に記述された要素の固まりを識別する。なお、文書構造が不明なプログラム実行結果3は、文書構造が既知のプログラム実行結果1と同一の対象に対して新規のプログラムを実行した結果である。
ファイル名の表記にゆれがある可能性がある場合、特開2004−102926号公報(特許文献1)の規範化処理(S102)を利用して、事前に表記をそろえてから同一項目判定部102を実施する。
第2の同一要素値判定部105は、類義語集7を参照して、類義語の組に含まれる文字列をタグ名、又は属性名として参照して、文書構造が不明なプログラム実行結果3に記述された指標32と、文書構造が既知のプログラム実行結果の標準構造化文書2に記述された指標22の対応付けを行なう。
また、第2の同一要素値判定部105は、同一の名称のタグ名、又は要素名があった場合、それらの情報の対応付けも行なう。
第2の同一要素値判定部105は、該当するタグ、又は属性が存在しない指標に対しては、発明の第1実施形態の第1の同一要素値判定部103で記述された方法を用いて、文書構造が不明なプログラム実行結果3に記述された指標32と、文書構造が既知のプログラム実行結果の標準構造化文書2に記述された指標22を比較して、同じ指標値として記述された値の対応付けを行ない、そのルールを構造化文書変換ルール5として出力する。
図16に、類義語集7の例を記述している。
図16に示す類義語集7は、2つ以上の文字列の組である類義語を集めたものからなる。図16に示す類義語集7では、文字列「tloc」と、文字列「loc」と、文字列「total」を類義語としている。また、文字列「cloc」と、文字列「comment」を類義語としている。また、文字列「bloc」と、文字列「blank」を類義語としている。
類義語集7を利用したマッチング検索により、まず、図5の「loc」タグの表わす指標と図4の「tloc」タグの表わす指標が対応付けられる。また、図5の「comment」タグの表わす指標と図4の「cloc」タグの表わす指標が対応付けられる。また、図5の「blank」タグの表わす指標と図4の「bloc」タグの表わす指標が対応付けられる。
本発明の第3実施形態を利用することにより、文書構造が不明なプログラム実行結果3の要素同士のマッチングをとる精度を高めることができるようになる。その理由は、第2の同一要素値判定部105において、類義語集8を参照することにより、指標値の近似だけではなく、指標の名称によってもマッチングをとることができるからである。
すなわち、第1実施形態においては、値が近似しているということで対応付けていた、図5の「comment」タグの表わす指標と、図4の「cloc」タグの表わす指標を、要素の名称によって対応付けることにより、対応付けの精度が高められたことになる。
<本発明の特徴>
以上のように、本発明の同一性判定装置は、定義が不明な構造化文書が保持する値と、定義が既知の構造化文書が保持する値との同一性及び近似性を判定し、定義が不明な構造化文書の各要素と、定義が既知の構造化文書の各要素を対応づけることで、定義が不明な構造化文書の構造を判定することを特徴とする。
本発明においては、あるプログラムを実行することにより出力された、文書構造が不明なプログラム実行結果と、このプログラムと同様の目的を持つプログラムを実行することにより出力された文書構造が既知のプログラム実行結果とを、同一性判定装置の入力として、両者の各構造要素及び各要素値の対応付けを行ない、構造化文書変換ルールを出力する。
標準構造化文書変換手段は、定義済みの構造化文書変換ルールを基に、文書構造が既知のプログラム実行結果を文書構造が既知のプログラム実行結果の標準構造化文書に変換する。
同一項目判定手段は、文書構造が既知のプログラム実行結果の標準構造化文書に記述された特定の構造要素(例えば、要素「ファイル名」)を表わす同一項目判定要素を基にして、文書構造が不明なプログラム実行結果に記述された同一名称、又は近似名称の要素を、同一情報の固まりとして判別する。
同一要素値判定手段は、文書構造が不明なプログラム実行結果に記述された要素の値と、文書構造が既知のプログラム実行結果の標準構造化文書に記述された要素の値を比較して、同じ意味を持つ値であるか判定し、要素の対応付けを行ない、そのルールを構造化文書変換ルールとして出力する。
同一要素値判定手段における、同じ意味を持つ値の判定には、値が文字列で正確に同一であることを判定する場合、特開2004−102926号公報(特許文献1)の段落0030で記載された一方向関数等を利用することができる。
本発明を利用すれば、プログラム開発のコーディングフェーズにおける進捗管理データや品質管理データの利用に際して、異なるプログラムで計測した結果を容易に比較することができるため、利用するメトリクス計測プログラムを特定することなく、また、容易に交換することもできるようになる。
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
1… 文書構造が既知のプログラム実行結果
2… 文書構造が既知のプログラム実行結果の標準構造化文書(XML形式の例)
21… 文書構造が既知のプログラム実行結果の標準構造化文書の特定要素の組
22… 文書構造が既知のプログラム実行結果の標準構造化文書のそれぞれの特定要素に紐付いた指標
3… 文書構造が不明なプログラム実行結果(XML形式の例)
31… 文書構造が不明なプログラム実行結果の特定要素が繰り返される位置と特定属性
32… 文書構造が不明なプログラム実行結果の特定要素に紐付いた指標
4… 同一項目判定要素(XML形式の例)
5… 構造化文書変換ルール
6… 文書構造が不明なプログラム実行結果の標準構造化文書
7… 類義語集
10… 指標値の差分の2乗
100… 同一性判定装置、
101… 第1の標準構造化文書変換部
102… 同一項目判定部
103… 第1の同一要素値判定部
104… 第2の標準構造化文書変換部
105… 第2の同一要素値判定部

Claims (12)

  1. 所定のプログラムを実行することにより出力された「文書構造が不明なプログラム実行結果」と、前記所定のプログラムと同様の目的を持つプログラムを実行することにより出力された「文書構造が既知のプログラム実行結果」とを入力として受け付ける入力手段と、
    前記入力された両方のプログラム実行結果の構造要素及び要素値の対応付けを行ない、前記対応付けが行われた特定の要素の構造同士を変換するルールを示す構造化文書変換ルールを生成する同一性判定手段と、
    前記生成された構造化文書変換ルールを出力する出力手段と
    を具備し、
    前記同一性判定手段は、
    定義済みの構造化文書変換ルールを基に、前記「文書構造が既知のプログラム実行結果」を、「文書構造が既知のプログラム実行結果の標準構造化文書」に変換する標準構造化文書変換手段と、
    前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された特定の構造要素を表わす同一項目判定要素を基にして、前記「文書構造が不明なプログラム実行結果」に記述された同一名称及び近似名称のいずれかの要素を、同一情報の固まりとして判別する同一項目判定手段と、
    前記「文書構造が不明なプログラム実行結果」に記述された要素の値と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された要素の値とを比較して、同じ意味を持つ値であるか判定し、前記比較された両方の要素の対応付けを行ない、前記対応付けが行われた特定の要素の構造同士を変換するルールを示す構造化文書変換ルールを生成する同一要素値判定手段と
    を具備する
    同一性判定装置。
  2. 請求項1に記載の同一性判定装置であって、
    前記標準構造化文書変換手段は、定義済みの構造化文書変換ルールを基に、前記「文書構造が既知のプログラム実行結果」を前記「文書構造が既知のプログラム実行結果の標準構造化文書」に変換し、
    前記同一項目判定手段は、前記同一項目判定要素で指定された情報を基に、前記「文書構造が既知のプログラム実行結果の標準構造化文書」の特定要素の組と、それぞれの特定要素に紐付いた第1の指標とを抽出し、前記特定要素の組の任意の要素に対して、前記「文書構造が不明なプログラム実行結果」の要素と文字列マッチングをとり、特定要素が繰り返される位置と特定属性を抽出し、前記特定要素が繰り返される位置と特定属性を基に、前記「文書構造が不明なプログラム実行結果」から特定要素に紐付いた第2の指標を抽出し、
    前記同一要素値判定手段は、前記特定要素が繰り返される位置と特定属性を基に、前記「文書構造が不明なプログラム実行結果」から当該要素に紐付いた情報が格納された部分を識別し、前記第1の指標の指標値と前記第2の指標の指標値の差分の2乗を計算し、前記差分の2乗を前記第1の指標の要素毎に足し合わせ、一番小さな差分の2乗に対応した前記第1の指標と前記第2の指標を対応付けて、構造化文書変換ルールに追加する
    同一性判定装置。
  3. 請求項1又は2に記載の同一性判定装置であって、
    前記同一要素値判定手段は、
    類義語集に登録された類義語の組に含まれる文字列を構造要素名として参照して、前記「文書構造が不明なプログラム実行結果」に記述された指標と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された指標の対応付けを行なう手段と、
    前記「文書構造が不明なプログラム実行結果」と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」との各々に、前記類義語集に登録された類義語の組に含まれる文字列のいずれかと同一の構造要素名が存在する場合、両方の構造要素名の対応付けを行なう手段と、
    前記「文書構造が不明なプログラム実行結果」と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」との各々に、前記類義語集に登録された類義語の組に含まれる文字列のいずれかと同一の構造要素名が存在しない場合、前記「文書構造が不明なプログラム実行結果」に記述された指標と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された指標を比較して、同じ指標値として記述された値であるか判定し、同じ指標値として記述された値の対応付けを行なう手段と、
    前記対応付けが行われた指標値同士を変換するルールを示す構造化文書変換ルールを生成する手段と
    を具備する
    同一性判定装置。
  4. 請求項1乃至3のいずれか一項に記載の同一性判定装置であって、
    前記生成された構造化文書変換ルールに従って、前記「文書構造が不明なプログラム実行結果」を、前記「文書構造が既知のプログラム実行結果の標準構造化文書」と同じ構造に従った「文書構造が不明なプログラム実行結果の標準構造化文書」に変換する構造変換手段
    を更に具備する
    同一性判定装置。
  5. 所定のプログラムを実行することにより出力された「文書構造が不明なプログラム実行結果」と、前記所定のプログラムと同様の目的を持つプログラムを実行することにより出力された「文書構造が既知のプログラム実行結果」とを入力手段が入力として受け付け、
    前記入力された両方のプログラム実行結果の構造要素及び要素値の対応付けを同一性判定手段が行ない、更に、前記対応付けが行われた特定の要素の構造同士を変換するルールを示す構造化文書変換ルールを前記同一性判定手段が生成し、
    前記生成された構造化文書変換ルールを出力手段が出力する
    同一性判定方法であって、
    前記同一性判定手段が前記構造化文書変換ルールを生成するにあたっては、
    定義済みの構造化文書変換ルールを基に、前記「文書構造が既知のプログラム実行結果」を、標準構造化文書変換手段が「文書構造が既知のプログラム実行結果の標準構造化文書」に変換し、
    前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された特定の構造要素を表わす同一項目判定要素を基にして、前記「文書構造が不明なプログラム実行結果」に記述された同一名称及び近似名称のいずれかの要素を、同一項目判定手段が同一情報の固まりとして判別し、
    前記「文書構造が不明なプログラム実行結果」に記述された要素の値と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された要素の値とを比較して、同じ意味を持つ値であるかを同一要素値判定手段が判定し、更に、前記比較された両方の要素の対応付けを行ない、前記対応付けが行われた特定の要素の構造同士を前記同一要素値判定手段が変換するルールを示す構造化文書変換ルールを生成する
    同一性判定方法。
  6. 請求項5に記載の同一性判定方法であって、
    前記標準構造化文書変換手段が、定義済みの構造化文書変換ルールを基に、前記「文書構造が既知のプログラム実行結果」を前記「文書構造が既知のプログラム実行結果の標準構造化文書」に変換し、
    前記同一項目判定手段が、前記同一項目判定要素で指定された情報を基に、前記「文書構造が既知のプログラム実行結果の標準構造化文書」の特定要素の組と、それぞれの特定要素に紐付いた第1の指標とを抽出し、前記特定要素の組の任意の要素に対して、前記「文書構造が不明なプログラム実行結果」の要素と文字列マッチングをとり、特定要素が繰り返される位置と特定属性を抽出し、前記特定要素が繰り返される位置と特定属性を基に、前記「文書構造が不明なプログラム実行結果」から特定要素に紐付いた第2の指標を抽出し、
    前記同一要素値判定手段が、前記特定要素が繰り返される位置と特定属性を基に、前記「文書構造が不明なプログラム実行結果」から当該要素に紐付いた情報が格納された部分を識別し、前記第1の指標の指標値と前記第2の指標の指標値の差分の2乗を計算し、前記差分の2乗を前記第1の指標の要素毎に足し合わせ、一番小さな差分の2乗に対応した前記第1の指標と前記第2の指標を対応付けて、構造化文書変換ルールに追加する
    同一性判定方法。
  7. 請求項5又は6に記載の同一性判定方法であって、
    前記同一要素値判定手段が、類義語集に登録された類義語の組に含まれる文字列を構造要素名として参照して、前記「文書構造が不明なプログラム実行結果」に記述された指標と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された指標の対応付けを行ない、
    前記同一要素値判定手段が、前記「文書構造が不明なプログラム実行結果」と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」との各々に、前記類義語集に登録された類義語の組に含まれる文字列のいずれかと同一の構造要素名が存在する場合、両方の構造要素名の対応付けを行ない、
    前記同一要素値判定手段が、前記「文書構造が不明なプログラム実行結果」と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」との各々に、前記類義語集に登録された類義語の組に含まれる文字列のいずれかと同一の構造要素名が存在しない場合、前記「文書構造が不明なプログラム実行結果」に記述された指標と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された指標を比較して、同じ指標値として記述された値であるか判定し、同じ指標値として記述された値の対応付けを行ない、
    前記同一要素値判定手段が、前記対応付けが行われた指標値同士を変換するルールを示す構造化文書変換ルールを生成する
    同一性判定方法。
  8. 請求項5乃至7のいずれか一項に記載の同一性判定方法であって、
    前記生成された構造化文書変換ルールに従って、前記「文書構造が不明なプログラム実行結果」を、前記「文書構造が既知のプログラム実行結果の標準構造化文書」と同じ構造に従った「文書構造が不明なプログラム実行結果の標準構造化文書」に構造変換手段が変換する
    同一性判定方法。
  9. 所定のプログラムを実行することにより出力された「文書構造が不明なプログラム実行結果」と、前記所定のプログラムと同様の目的を持つプログラムを実行することにより出力された「文書構造が既知のプログラム実行結果」とを入力として受け付けるステップと、
    前記入力された両方のプログラム実行結果の構造要素及び要素値の対応付けを行ない、前記対応付けが行われた特定の要素の構造同士を変換するルールを示す構造化文書変換ルールを生成するステップと、
    前記生成された構造化文書変換ルールを出力するステップと
    をコンピュータに実行させるための同一性判定用プログラムであって、
    前記構造化文書変換ルールを生成するステップでは、
    定義済みの構造化文書変換ルールを基に、前記「文書構造が既知のプログラム実行結果」を、「文書構造が既知のプログラム実行結果の標準構造化文書」に変換するステップと、
    前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された特定の構造要素を表わす同一項目判定要素を基にして、前記「文書構造が不明なプログラム実行結果」に記述された同一名称及び近似名称のいずれかの要素を、同一情報の固まりとして判別するステップと、
    前記「文書構造が不明なプログラム実行結果」に記述された要素の値と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された要素の値とを比較して、同じ意味を持つ値であるか判定し、前記比較された両方の要素の対応付けを行ない、前記対応付けが行われた特定の要素の構造同士を変換するルールを示す構造化文書変換ルールを生成するステップと
    を更にコンピュータに実行させる
    同一性判定用プログラム。
  10. 請求項9に記載の同一性判定用プログラムであって、
    定義済みの構造化文書変換ルールを基に、前記「文書構造が既知のプログラム実行結果」を前記「文書構造が既知のプログラム実行結果の標準構造化文書」に変換するステップと、
    前記同一項目判定要素で指定された情報を基に、前記「文書構造が既知のプログラム実行結果の標準構造化文書」の特定要素の組と、それぞれの特定要素に紐付いた第1の指標とを抽出し、前記特定要素の組の任意の要素に対して、前記「文書構造が不明なプログラム実行結果」の要素と文字列マッチングをとり、特定要素が繰り返される位置と特定属性を抽出し、前記特定要素が繰り返される位置と特定属性を基に、前記「文書構造が不明なプログラム実行結果」から特定要素に紐付いた第2の指標を抽出するステップと、
    前記特定要素が繰り返される位置と特定属性を基に、前記「文書構造が不明なプログラム実行結果」から当該要素に紐付いた情報が格納された部分を識別し、前記第1の指標の指標値と前記第2の指標の指標値の差分の2乗を計算し、前記差分の2乗を前記第1の指標の要素毎に足し合わせ、一番小さな差分の2乗に対応した前記第1の指標と前記第2の指標を対応付けて、構造化文書変換ルールに追加するステップと
    を更にコンピュータに実行させるための
    同一性判定用プログラム。
  11. 請求項9又は10に記載の同一性判定用プログラムであって、
    類義語集に登録された類義語の組に含まれる文字列を構造要素名として参照して、前記「文書構造が不明なプログラム実行結果」に記述された指標と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された指標の対応付けを行なうステップと、
    前記「文書構造が不明なプログラム実行結果」と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」との各々に、前記類義語集に登録された類義語の組に含まれる文字列のいずれかと同一の構造要素名が存在する場合、両方の構造要素名の対応付けを行なうステップと、
    前記「文書構造が不明なプログラム実行結果」と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」との各々に、前記類義語集に登録された類義語の組に含まれる文字列のいずれかと同一の構造要素名が存在しない場合、前記「文書構造が不明なプログラム実行結果」に記述された指標と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された指標を比較して、同じ指標値として記述された値であるか判定し、同じ指標値として記述された値の対応付けを行なうステップと、
    前記対応付けが行われた指標値同士を変換するルールを示す構造化文書変換ルールを生成するステップと
    を更にコンピュータに実行させるための
    同一性判定用プログラム。
  12. 請求項9乃至11のいずれか一項に記載の同一性判定用プログラムであって、
    前記生成された構造化文書変換ルールに従って、前記「文書構造が不明なプログラム実行結果」を、前記「文書構造が既知のプログラム実行結果の標準構造化文書」と同じ構造に従った「文書構造が不明なプログラム実行結果の標準構造化文書」に変換するステップ
    を更にコンピュータに実行させるための
    同一性判定用プログラム。
JP2009057576A 2009-03-11 2009-03-11 同一性判定装置、同一性判定方法、及び同一性判定用プログラム Expired - Fee Related JP5626554B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009057576A JP5626554B2 (ja) 2009-03-11 2009-03-11 同一性判定装置、同一性判定方法、及び同一性判定用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009057576A JP5626554B2 (ja) 2009-03-11 2009-03-11 同一性判定装置、同一性判定方法、及び同一性判定用プログラム

Publications (2)

Publication Number Publication Date
JP2010211567A JP2010211567A (ja) 2010-09-24
JP5626554B2 true JP5626554B2 (ja) 2014-11-19

Family

ID=42971639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009057576A Expired - Fee Related JP5626554B2 (ja) 2009-03-11 2009-03-11 同一性判定装置、同一性判定方法、及び同一性判定用プログラム

Country Status (1)

Country Link
JP (1) JP5626554B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001236215A (ja) * 2000-02-24 2001-08-31 Hitachi Ltd システム制御方法およびそれを実施した情報処理システム並びにその処理プログラムを格納した記録媒体
EP1349080A1 (en) * 2002-03-26 2003-10-01 Deutsche Thomson-Brandt Gmbh Methods and apparatus for using metadata from different sources
JP4231261B2 (ja) * 2002-09-12 2009-02-25 株式会社エヌ・ティ・ティ・ドコモ 同一性判定装置
JP4451624B2 (ja) * 2003-08-19 2010-04-14 富士通株式会社 情報体系対応付け装置および対応付け方法
JP2005251136A (ja) * 2004-03-08 2005-09-15 Nec Corp 自動データマッピング装置、自動データマッピングシステムおよび自動データマッピングプログラム
JP2008134719A (ja) * 2006-11-27 2008-06-12 Fuji Xerox Co Ltd 構造化文書同一性判定装置

Also Published As

Publication number Publication date
JP2010211567A (ja) 2010-09-24

Similar Documents

Publication Publication Date Title
JP5690349B2 (ja) レコード形式情報の管理
Dimou et al. Assessing and refining mappingsto rdf to improve dataset quality
US9170918B2 (en) Model verification system, model verification method, and recording medium
US7822788B2 (en) Method, apparatus, and computer program product for searching structured document
US20160342628A1 (en) Textual query editor for graph databases that performs semantic analysis using extracted information
JP2004086782A (ja) 異種データベース統合支援装置
JP2006525600A5 (ja)
CA2522309A1 (en) Retaining hierarchical information in mapping between xml documents and relational data
US20220058032A1 (en) Generation apparatus, program, and generation method
JPWO2015025386A1 (ja) データ処理システム、データ処理方法およびデータ処理装置
US20130055065A1 (en) Validation based on decentralized schemas
WO2022267457A1 (zh) 电子表格数据处理方法、装置、设备及存储介质
JP4247135B2 (ja) 構造化文書記憶方法、構造化文書記憶装置、構造化文書検索方法
US20080033967A1 (en) Semantic aware processing of XML documents
Rönnau et al. Merging changes in XML documents using reliable context fingerprints
JP6737734B2 (ja) 問合せ文検索装置、問合せ文検索方法及び問合せ文検索プログラム
JP5626554B2 (ja) 同一性判定装置、同一性判定方法、及び同一性判定用プログラム
CN110188432B (zh) 系统架构的验证方法、电子设备及计算机可读存储介质
Castano et al. On the ontology instance matching problem
Bidoit-Tollu et al. Type-based detection of XML query-update independence
US8200679B2 (en) Estimating cardinalities of XML table constructs within queries
WO2015184750A1 (zh) 网元设备数据维护的方法和装置
JP2011053891A (ja) 通信データのリレーショナルデータベース保存方法およびリレーショナルデータベース保存プログラム
Kehrbusch et al. Interface-based similarity analysis of software components for the automotive industry
Solimando et al. Static analysis of XML document adaptations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140318

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140512

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140904

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140917

R150 Certificate of patent or registration of utility model

Ref document number: 5626554

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees