JPH10283175A - プログラム解析装置、プログラム解析方法及びソースプログラム解析用プログラム記録媒体 - Google Patents

プログラム解析装置、プログラム解析方法及びソースプログラム解析用プログラム記録媒体

Info

Publication number
JPH10283175A
JPH10283175A JP9082502A JP8250297A JPH10283175A JP H10283175 A JPH10283175 A JP H10283175A JP 9082502 A JP9082502 A JP 9082502A JP 8250297 A JP8250297 A JP 8250297A JP H10283175 A JPH10283175 A JP H10283175A
Authority
JP
Japan
Prior art keywords
program
procedure
statement
output
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP9082502A
Other languages
English (en)
Other versions
JP3970373B2 (ja
Inventor
Kazuki Taira
一樹 平良
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 JP08250297A priority Critical patent/JP3970373B2/ja
Publication of JPH10283175A publication Critical patent/JPH10283175A/ja
Application granted granted Critical
Publication of JP3970373B2 publication Critical patent/JP3970373B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 プログラムのソースファイルからファイルア
クセスの状況を正確かつ高速に、さらに人間が理解しや
すいように出力するプログラム解析装置を提供するこ
と。 【解決手段】 プログラム受付手段2がソースプログラ
ム1の入力を受け付けると、構造抽出手段3が、ソース
プログラム1の制御構造を決定する文と入出力文と手続
きとを抽出し、プログラム基本構造4を生成する。構造
展開手段5は、プログラム基本構造4に、離れて記述さ
れた手続きを呼び出す手続き呼出が含まれている場合
に、その手続きを手続き呼出の直後に挿入して、プログ
ラム展開構造6を生成する。削除手段7はプログラム展
開構造6から入出力文に関与しない文を削除し、アクセ
ス構造8を生成する。そして、出力手段9がアクセス構
造8を出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はプログラム解析装
置、プログラム解析方法及びコンピュータをプログラム
解析装置として機能させるためのプログラムを記録した
記録媒体に関し、特にプログラム言語にて記述されたソ
ースプログラムを解析するプログラム解析装置、プログ
ラム言語にて記述されたソースプログラムを解析するプ
ログラム解析方法及びコンピュータを、プログラム言語
にて記述されたソースプログラムを解析するプログラム
解析装置として機能させるためのプログラムを記録した
ソースプログラム解析用プログラム記録媒体に関する。
【0002】
【従来の技術】データファイルとのアクセスを含むプロ
グラムを実行する場合、その実行にかかる時間は、ファ
イルアクセスのための時間に左右されることが多い。こ
のためデータファイルは、記憶装置の中でも同時にアク
セスされる他のデータファイルと近い場所に格納された
り、アクセス頻度の高い順に速くアクセスできる場所に
格納されたりする。
【0003】プログラムやデータファイルの量が増える
につれ、ファイルの効率的な格納は難しくなる。そし
て、ファイルを効率的に格納し直したい場合には、その
記憶装置にアクセスするすべてのプログラムが、どのよ
うな順番でどのファイルにアクセスするかを調べなけれ
ばならない。従来この解析作業は、人間の手作業でのみ
行っていた。
【0004】
【発明が解決しようとする課題】しかし、対象となるプ
ログラムすべてを人間の手作業で解析し、そのアクセス
状況を調べると、莫大な時間や費用がかかったり、正確
性を欠いたりしてしまうという問題点があった。
【0005】本発明はこのような点に鑑みてなされたも
のであり、プログラムのソースファイルからファイルア
クセスの状況を、正確に、かつ高速に、さらに人間が理
解しやすいように出力するプログラム解析装置を提供す
ることを目的とする。
【0006】また、本発明の他の目的は、プログラムの
ソースファイルからファイルアクセスの状況を、正確
に、かつ高速に、さらに人間が理解しやすいように出力
するプログラム解析方法を提供することである。
【0007】さらに、本発明の他の目的は、コンピュー
タを、プログラムのソースファイルからファイルアクセ
スの状況を、正確に、かつ高速に、さらに人間が理解し
やすいように出力するプログラム解析装置として機能さ
せるためのプログラムを記録したソースプログラム解析
用プログラム記録媒体を提供することである。
【0008】
【課題を解決するための手段】本発明では上記課題を解
決するために、プログラム言語にて記述されたソースプ
ログラムを解析するプログラム解析装置において、前記
ソースプログラムの入力を受け付けるプログラム受付手
段と、前記ソースプログラムから、前記ソースプログラ
ムの制御構造を決定する文と入出力文と手続きとを抽出
し、プログラム基本構造とする構造抽出手段と、前記プ
ログラム基本構造に、離れて記述された手続きを呼び出
す手続き呼出が含まれている場合に、前記手続きを前記
手続き呼出の直後に挿入し、プログラム展開構造とする
構造展開手段と、前記プログラム展開構造から前記入出
力文に関与しない文を削除し、アクセス構造とする削除
手段と、前記アクセス構造を出力する出力手段と、を有
することを特徴とするプログラム解析装置が提供され
る。
【0009】このようなプログラム解析装置で、プログ
ラム言語にて記述されたソースプログラムを解析する場
合、プログラム受付手段がソースプログラムの入力を受
け付ける。また、構造抽出手段が、ソースプログラムか
ら、ソースプログラムの制御構造を決定する文と入出力
文と手続きとを抽出し、プログラム基本構造とする。構
造展開手段は、プログラム基本構造に、離れて記述され
た手続きを呼び出す手続き呼出が含まれている場合に、
その手続きを手続き呼出の直後に挿入してプログラム展
開構造とする。削除手段は、プログラム展開構造から入
出力文に関与しない文を削除し、アクセス構造とする。
そして、出力手段はアクセス構造を出力する。
【0010】このようなプログラム解析装置にてソース
プログラムを解析すると、ソースプログラム中に、離れ
た手続きを呼び出す手続き呼出が含まれている場合で
も、その手続き順序に対応してアクセス状況を解析、出
力することができる。
【0011】また、本発明では上記課題を解決するため
に、プログラム言語にて記述されたソースプログラムを
解析するプログラム解析方法において、前記ソースプロ
グラムの入力を受け付け、前記ソースプログラムから、
前記ソースプログラムの制御構造を決定する文と入出力
文と手続きとを抽出してプログラム基本構造とし、前記
プログラム基本構造に、離れて記述された手続きを呼び
出す手続き呼出が含まれている場合には、前記手続きを
前記手続き呼出の直後に挿入し、前記入出力文に関与し
ない文を削除して、出力することを特徴とするプログラ
ム解析方法が提供される。
【0012】このようなプログラム解析方法にて、プロ
グラム言語にて記述されたソースプログラムを解析する
場合、まずソースプログラムを受け付け、受け付けたソ
ースプログラムから、ソースプログラムの制御構造を決
定する文と入出力文と手続きとを抽出してプログラム基
本構造とし、このプログラム基本構造に、離れて記述さ
れた手続きを呼び出す手続き呼出が含まれていれば、そ
の手続きを手続き呼出の直後に挿入してから、入出力に
関与しない文を削除して、出力する。
【0013】このようなプログラム解析方法にてソース
プログラムを解析すると、ソースプログラム中に、離れ
た手続きを呼び出す手続き呼出が含まれている場合で
も、その手続き順序に対応してアクセス状況を解析、出
力することができる。
【0014】さらに、本発明では上記課題を解決するた
めに、コンピュータを、プログラム言語にて記述された
ソースプログラムを解析するプログラム解析装置として
機能させるためのプログラムを記録したソースプログラ
ム解析用プログラム記録媒体において、前記ソースプロ
グラムの入力を受け付けるプログラム受付手段と、前記
ソースプログラムから、前記ソースプログラムの制御構
造を決定する文と入出力文と手続きとを抽出し、プログ
ラム基本構造とする構造抽出手段と、前記プログラム基
本構造に、離れて記述された手続きを呼び出す手続き呼
出部が含まれている場合に、前記手続きを前記手続き呼
出部に挿入し、プログラム展開構造とする構造展開手段
と、前記プログラム展開構造から前記入出力文に関与し
ない文を削除し、アクセス構造とする削除手段と、前記
アクセス構造を出力する出力手段と、としてコンピュー
タを機能させるためのソースプログラム解析用プログラ
ム記録媒体が提供される。
【0015】このようなソースプログラム解析用プログ
ラム記録媒体にて、コンピュータを、プログラム言語に
て記述されたソースプログラムを解析するプログラム解
析装置として機能させる場合、コンピュータは、ソース
プログラムの入力を受け付ける機能と、ソースプログラ
ムから、ソースプログラムの制御構造を決定する文と入
出力文と手続きとを抽出し、プログラム基本構造とする
機能と、プログラム基本構造に、離れて記述された手続
きを呼び出す手続き呼出部が含まれている場合に、その
手続きを手続き呼出部に挿入し、プログラム展開構造と
する機能と、プログラム展開構造から入出力文に関与し
ない文を削除し、アクセス構造とする機能と、アクセス
構造を出力する機能とを実現する。
【0016】このようなソースプログラム解析用プログ
ラム記録媒体にてコンピュータをプログラム解析装置と
して機能させると、プログラム中に、離れた手続きを呼
び出す手続き呼出が含まれている場合でも、その手続き
順序に対応してアクセス状況を解析、出力することがで
きる。
【0017】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。図1は、本発明のプログラム解析
装置の原理構成を示したブロック図である。
【0018】本発明のプログラム解析装置は、プログラ
ム受付手段2と、構造抽出手段3と、構造展開手段5
と、削除手段7と、出力手段9とから構成される。プロ
グラム受付手段2は、プログラム言語にて記述されたソ
ースプログラム1の入力を受け付ける。構造抽出手段3
は、受け付けたソースプログラム1から、ソースプログ
ラム1の制御構造を決定する文と入出力文と手続きとを
抽出して、プログラム基本構造4を生成する。構造展開
手段5は、プログラム基本構造4に、離れて記述された
手続きを呼び出す手続き呼出部が含まれている場合に、
その手続きを手続き呼出部の直後に挿入して、プログラ
ム展開構造6を生成する。削除手段7は、プログラム展
開構造6から入出力文に関与しない文を削除して、アク
セス構造8を生成する。出力手段9は、生成されたアク
セス構造8を出力する。
【0019】ここで構造展開手段5は、置換部5aと、
挿入部5bとから構成される。置換部5aは、プログラ
ムの制御構造を決定する文に含まれる手続き呼出にて指
定される手続き名を、その手続き名の行番号に置き換え
る。そして、挿入部5bは、呼び出されている手続き
を、手続き呼出の直後に挿入する。
【0020】なお、生成したアクセス構造8を出力手段
9から出力する際、プログラム言語のまま出力する方法
と、アクセス構造8からファイルアクセスの様子を示す
アクセス表を生成して、このアクセス表を出力する方法
とが選択できる。
【0021】このようなプログラム解析装置にてソース
プログラム1の解析を行うと、ソースプログラム1の中
に、離れた手続きを呼び出す手続き呼出が含まれている
場合でも、その手続き順序に対応してアクセス状況を解
析、出力することができる。
【0022】ここで、本発明のプログラム解析装置にて
実際にプログラム解析を行う場合の解析の様子を、例を
挙げて説明する。図2〜図5は、ソースプログラム1の
例を示す図である。
【0023】プログラム10(1/4)〜プログラム1
0(4/4)は、プログラム言語「COBOL」にて記
述されている。プログラム10の各行左側に添えてある
のは行番号で、プログラム10が行番号「000100」〜行
番号「014200」にて構成されていることが判る。
【0024】ここで、行番号「000200」〜「000300」
は、プログラム10全体の概要を示す見出し部11であ
る。見出し部11に含まれた行番号「000300」の「PROF
GRAM-ID PROG001 」にて、プログラム10の名称「PROG
001 」を宣言している。
【0025】行番号「000400」〜「001100」は、使用す
る計算機の機器構成やハードウェアに依存する内容を示
す環境部12であり、行番号「001200」〜「002900」
は、手続き対象のデータやファイルの構造を示すデータ
部13である。そして、行番号「003100」以降が、実行
すべき内容を示す手続き部14である。なお、行番号の
直後に「*」が示してある文はコメント文である。
【0026】手続き部14の中においてプログラム10
は細かく分かれている。すなわち、行番号「003100」〜
「004200」は、このプログラム10の主体部141であ
る。また、行番号「004400」〜「005100」は、このプロ
グラム10の第1のサブルーチン142であって、名称
「PROC-RTN」を持つ。行番号「005300」〜「007300」
は、このプログラム10の第2のサブルーチン143で
あって、名称「PROC-S-RTN」を持つ。以下同様に、行番
号「007500」〜「008700」は、第3のサブルーチン14
4であって、名称「READ-F01-RTN」を持つ。また、行番
号「008900」〜「010000」は、第4のサブルーチン14
5であって、名称「SEARCH-KYMD-RTN 」を持つ。行番号
「010200」〜「012300」は、第5のサブルーチン146
であって、名称「READ-MST-RTN」を持つ。行番号「0125
00」〜「013800」は、第6のサブルーチン147であっ
て、名称「GET-YMD-RTN 」を持つ。そして、行番号「01
4000」〜「014100」は、第7のサブルーチン148であ
って、名称「DBECD-CLEAR 」を持つ。
【0027】このような構成のプログラム10を本発明
のプログラム解析装置にて解析する場合、まずプログラ
ム受付手段2がプログラム10を受け付ける。そして、
受け付けられたプログラム10から、構造抽出手段3
が、プログラム10の制御構造を決定する文と入出力文
とサブルーチンとを抽出して、プログラム基本構造を生
成する。
【0028】プログラム10からプログラム基本構造2
0を生成する場合、見出し部11、環境部12、データ
部13は抽出されない。また、コメント文やDISPL
AY(表示)文、MOVE(転記)文、算術文等も抽出
されない。
【0029】図6、7は、図2〜図5にて示したプログ
ラム10から生成したプログラム基本構造を示した図で
ある。プログラム基本構造20(1/2)〜プログラム
基本構造20(2/2)は、プログラムの主体部141
から抽出された領域21と、第1〜第7のサブルーチン
142〜148から抽出された領域22〜28とから構
成されている。
【0030】ここで領域23は、プログラム10の第2
のサブルーチン143から、行番号「006000」〜「0062
00」のMOVE文や、行番号「006400」〜「006800」の
MOVE文のみを含むIF(条件)文以外の部分が抽出
されて生成される。
【0031】同様に、領域24は、第3のサブルーチン
144から、行番号「007800」のADD(加算)文や、
行番号「008300」のMOVE文以外の部分が抽出されて
生成される。
【0032】領域25は、第4のサブルーチン145か
ら、行番号「009000」〜「010000」の変数Jを増加させ
るPERFORM(実行)文や、この変数Jが一定の条
件を満たした時点でMOVE文を実行するIF文以外の
部分が抽出されて生成される。
【0033】領域26は、第5のサブルーチン146か
ら、行番号「010700」や行番号「011800」のMOVE
文、行番号「012100」〜「012200」のDISPLAY文
以外の部分が抽出されて生成される。
【0034】領域27は、第6のサブルーチン147か
ら、行番号「013000」〜「013200」のMOVE文及びA
DD文、行番号「0013400 」〜「0013500 」のDISP
LAY文以外の部分が抽出されて生成される。
【0035】そして、領域28は、第7のサブルーチン
148から、行番号「014100」のMOVE文以外の部分
が抽出されて生成される。生成されたプログラム基本構
造20は次に、構造展開手段5にて、離れて記述された
手続きを呼び出す手続き呼出部が含まれている場合に、
その手続きを手続き呼出部の直後に挿入されて、プログ
ラム展開構造6が生成される。
【0036】但し、構造展開手段5には、プログラム基
本構造中の手続き呼出にて指定される手続き名をその手
続き名の行番号に置き換える置換部5aと、行番号を含
んだ手続き呼出の直後にその行番号の手続きを挿入する
挿入部5bとから構成されている。そこで、まず置換部
5aにてプログラム第1展開構造が生成される様子を説
明した後、挿入部5bにてプログラム第2展開構造が生
成される様子を説明する。このプログラム第2展開構造
がプログラム展開構造6にあたる。
【0037】図8、9は、図2〜図5にて示したプログ
ラム10から生成されたプログラム第1展開構造の様子
を示した図である。図において、プログラム第1展開構
造30(1/2)〜プログラム第1展開構造30(2/
2)は、プログラム基本構造20の領域21に含まれた
手続き呼出にて指定された手続き名をその手続き名の行
番号に置き換えた領域31と、領域22〜28を同様に
置き換えた領域32〜38とから構成されている。
【0038】ここで、領域31では、領域21の行番号
「003700」の「PERFORM DBECD-CREAR.」が、「PERFORM
SEQ-014000. 」に置き換えられている。これは、行番号
「014000」に名称「DBECD-CREAR 」のサブルーチンが存
在するためである。同様に行番号「003800」の「PERFOR
M PROC-RTN. 」が、「PERFORM SEQ-004400. 」に置き換
えられている。なお、「SEQ-」にて行番号を示す。
【0039】領域32では、領域22の行番号「00450
0」の「PERFORM READ-F01-RTN THRUREAD-F01-EXIT.」が
「PERFORM SEQ-007500 THRU SEQ-008700. 」に、行番号
「004700」の「PERFORM PROC-S-RTN THRU PROC-S-EXI
T.」が「PERFORM SEQ-005300 THRU SEQ-007300. 」に、
さらに行番号「005100」の「PERFORM DBECD-CREAR.」が
「PERFORM SEQ-014000. 」に、置き換えられている。
【0040】領域33では、領域23の行番号「00540
0」の「PERFORM READ-MST-RTN THRUREAD-MST-EXIT.」が
「PERFORM SEQ-010200 THRU SEQ-012300. 」に、行番号
「005600」の「GO TO PROC-S-001. 」が「GO TO SEQ-00
7100. 」に置き換えられている。また、行番号「00630
0」の「PERFORM SEARCH-KYMD-RTN.」が「PERFORM SEQ-0
08900. 」に、行番号「007200」の「PERFORM READ-F01-
RTN THRU READ-F01-EXIT.」が「PERFORM SEQ-007500 TH
RU SEQ-008700. 」に置き換えられている。
【0041】領域34では、領域24の行番号「00770
0」の「AT END GO TO READ-F01-EXIT. 」が「AT END GO
TO SEQ-008700.」に、行番号「008400」の「GO TO REA
D-F01-EXIT.」が「GO TO SEQ-008700. 」に、行番号「0
08600」の「GO TO READ-F01-RTN. 」が「GO TO SEQ-007
500. 」に置き換えられている。
【0042】領域35では、置き換えはない。領域36
では、行番号「010400」の「AT END GO TO READ-MST-ER
R.」が「AT END GO TO SEQ-012000.」に、行番号「0010
600 」の「AT END GO TO READ-MST-ERR.」が「AT END G
O TO SEQ-012000.」に置き換えられている。また、行番
号「011000」の「GO TO READ-MST-ERR. 」が「GO TO SE
Q-012000. 」に、行番号「011200」の「AT END GO TO R
EAD-MST-ERR.」が「AT END GO TO SEQ-012000.」に、行
番号「011400」の「AT END GO TO READ-MST-ERR.」が
「AT END GO TO SEQ-012000.」に置き換えられている。
さらに、行番号「011600」の「PERFORM GET-YMD-RTN TH
RU GET-YMD-END. 」が「PERFORM SEQ-012500THRU SEQ-0
13800.」に、行番号「011900」の「GO TO READ-MYST-EX
IT. 」が「GO TO SEQ-012300. 」に置き換えられてい
る。
【0043】領域37では、行番号「012700」の「AT E
ND GO TO GET-YMD-END. 」が「AT END GO TO SEQ-01380
0.」に、行番号「012900」の「GO TO GET-YMD-RTN.」が
「GOTO SEQ-012500. 」に置き換えられている。また、
行番号「013600」の「GO TOGET-YMD-END.」が「GO TO G
ET SEQ-013800. 」に、行番号「013700」の「GO TOGET-
YMD-RTN.」が「GO TO SEQ-012500. 」に置き換えられて
いる。
【0044】そして、領域38では、置き換えはない。
ここで、各領域に含まれる手続き呼出を確認しておく。
領域31に含まれる手続き呼出は、行番号「003700」の
「PERFORM SEQ-014000. 」と、行番号「003800」の「PE
RFORM SEQ-004400. 」である。なお、この領域31に含
まれた行番号「003200」の「START-001.」は、他からの
呼出のない段落名であるので、以降の処理では不要であ
る。よって、この時点で削除する。
【0045】領域32に含まれる手続き呼出は、行番号
「004500」の「PERFORM SEQ-007500THRU SEQ-008700.
」、行番号「004700」の「PERFORM SEQ-005300 THRU S
EQ-007300. 」、及び行番号「005100」の「PERFORM SEQ
-014000. 」である。
【0046】領域33に含まれる手続き呼出は、行番号
「005400」の「PERFORM SEQ-010200THRU SEQ-012300.
」、行番号「006300」の「PERFORM SEQ-008900. 」、
及び行番号「007200」の「PERFORM SEQ-007500 THRU SE
Q-008700. 」である。
【0047】領域34にはGOTO(飛び越し)文や入
出力文は含まれているが、手続き呼出は含まれていな
い。なお、領域35には手続き呼出も入出力文も含まれ
ておらず、以降の処理では不要である。よって、領域3
5はこの時点で削除する。
【0048】領域36に含まれる手続き呼出は、行番号
「011600」の「PERFORM SEQ-012500THRU SEQ-013800.
」である。領域37には、GOTO文や入出力文は含
まれているが、手続き呼出は含まれていない。
【0049】なお、領域38には手続き呼出も入出力文
も含まれておらず、以降の処理では不要である。よっ
て、領域38はこの時点で削除する。図10、11は、
構造展開手段5の挿入部5bにて、図8、9にて示した
プログラム第1展開構造30からプログラム第2展開構
造40が生成された様子を示した図である。
【0050】図において、プログラム第2展開構造40
(1/2)〜プログラム第2展開構造40(2/2)
は、プログラム第1展開構造30に含まれた手続き呼出
の直後に、呼び出されている手続きを挿入した構成とな
っている。
【0051】なお、ここでは挿入の繰り返しにより処理
の流れが不明瞭になるのを防ぐために、展開番号という
項目を設けてある。これは、新たに手続きを挿入する度
に、その手続きによる処理の流れに逐次番号を付加して
いくもので、最初は展開番号01である。この流れの途
中で手続き呼出があり、手続きを挿入した場合、その手
続きには展開番号02を付加する。また、展開番号02
の途中でさらに手続き呼出があったり、展開番号02の
処理が終了して展開番号01の処理の再開中に別の手続
き呼出があったりした場合には、展開番号03、04・
・・を付加していく。また、ここでは、手続き呼出を意
味している行に「*」を付加して、その他の行と区別し
てある。
【0052】まず行番号「003700」の「PERFORM SEQ-01
4000. 」であるが、行番号「014000」の手続きは削除さ
れており、存在しない。よって、挿入は行われない。次
に、行番号「003800」の「PERFORM SEQ-004400. 」及び
行番号「003900」にの「UNTIL DBSCB=01」に基づいて、
この直後に行番号「004400」の「PROC-RTN.」以下が挿
入される。以降、展開番号02が付加される。
【0053】展開番号02の流れでは、行番号「00450
0」の「PERFORM SEQ-007500 THRU SEQ-008700. 」が手
続き呼出を意味しているので、この直後に行番号「0075
00」の「READ-F01-RTN. 」以下が挿入されている。以
降、展開番号03が付加される。
【0054】展開番号03の流れには手続き呼出は存在
しないので、行番号「008700」までで、この流れは終了
する。展開番号02の流れに戻ると、行番号「004700」
の「PERFORM SEQ-005300 THRU SEQ-007300. 」及び行番
号「004800」の「UNTIL DBSCB=01」が、手続き呼出を意
味している。よって、この直後に行番号「005300」の
「PROC-S-RTN. 」以下が挿入される。以降、展開番号0
4が付加される。
【0055】展開番号04の流れでは、行番号「00540
0」の「PERFORM SEQ-010200 THRU SEQ-012300. 」が手
続き呼出を意味しているので、この直後に行番号「0102
00」の「READ-MST-RTN. 」以下が挿入される。以降、展
開番号05が付加される。
【0056】展開番号05の流れでは、行番号「01160
0」の「PERFORM SEQ-012500 THRU SEQ-013800. 」が手
続き呼出を意味しているので、この直後に行番号「0125
00」の「GET-YMD-RTN.」以下が挿入される。以降、展開
番号06が付加される。
【0057】展開番号06の流れには手続き呼出は存在
しないので、行番号「013800」までで、この流れは終了
する。展開番号05の流れに戻ると、ここにもこれ以上
の手続き呼出は存在しないので、行番号「012300」まで
で、この流れは終了する。
【0058】展開番号04の流れに戻ると、行番号「00
6300」の「PERFORM SEQ-008900. 」が手続き呼出を意味
している。しかし、行番号「008900」の手続きは削除さ
れており、存在しない。よって、挿入は行われない。
【0059】次に、行番号「007200」の「PERFORM SEQ-
007500 THRU SEQ-008700. 」が手続き呼出を意味してい
るので、この直後に行番号「007500」の「READ-F01-RT
N. 」以下が挿入される。以降、展開番号07が付加さ
れる。
【0060】展開番号07の流れには手続き呼出は存在
しないので、行番号「008700」までで、この流れは終了
する。展開番号04の流れに戻ると、ここにもこれ以上
の手続き呼出は存在しないので、行番号「007300」まで
で、この流れは終了する。
【0061】展開番号02の流れに戻ると、行番号「00
5100」の「PERFORM SEQ-014000. 」が手続き呼出を意味
している。しかし、行番号「014000」の手続きは削除さ
れており、存在しない。よって、挿入は行われない。
【0062】展開番号01の流れに戻ると、これ以上の
手続き呼出は存在しないので、行番号「004200」まで
で、この流れは終了する。このようにして、構造展開手
段5にてプログラム第2展開構造40が生成される。生
成されたプログラム第2展開構造40は次に、削除手段
7にて入出力に関与しない文を削除される。なお、入出
力に関与するのは、データベースファイルとのアクセス
を意味するGET文、WRITE(書込み)文、REA
D(読込み)文、及びこれらの文の繰り返しを意味する
文である。
【0063】図12は、図2〜図5に示されたプログラ
ム10から生成したアクセス構造を示した図である。ア
クセス構造50には、新たに相対番号が付加される。行
番号「003500」は、GET文なので残され、相対番号
「 001」を付加されている。相対番号「 002」のPER
FORM文及び相対番号「 025」のEND−PERFI
RM文は、プログラム10の行番号「003800」〜「0039
00」が意味していた処理の繰り返しに相当する。
【0064】行番号「007500」は、GET文を含んだサ
ブルーチンの名称を示しているので残され、相対番号
「 003」を付加されている。行番号「007600」はGET
文なので残され、相対番号「 004」を付加されている。
行番号「008600」は、行番号「007600」のGET文の繰
り返しを意味するGOTO文なので残され、相対番号
「005」を付加されている。相対番号「 006」のPER
FORM文及び相対番号「023」のEND−PERFI
RM文は、プログラム10の行番号「004700」〜「0048
00」が意味していた処理の繰り返しに相当する。
【0065】行番号「010200」は、GET文を含んだサ
ブルーチンの名称を示しているので残され、相対番号
「 007」を付加されている。行番号「010300」、「0105
00」、「010800」、「011100」、「011300」は、GET
文なので残され、相対番号「 008」、「 009」、「 01
0」、「 011」、「 012」を付加されている。
【0066】行番号「012500」は、GET文を含んだサ
ブルーチンの名称を示しているので残され、相対番号
「 013」を付加されている。行番号「012600」はGET
文なので残され、相対番号「 014」を付加されている。
行番号「012900」及び「013700」は、どちらも行番号
「012600」のGET文の繰り返しを意味するGOTO文
なので残され、相対番号「 015」及び「 016」を付加さ
れている。相対番号「 017」のPERFORM文及び相
対番号「 019」のEND−PERFIRM文は、プログ
ラム10の行番号「005700」〜「007000」が意味してい
た処理の繰り返しに相当する。
【0067】行番号「007500」は、GET文を含んだサ
ブルーチンの名称を示しているので残され、相対番号
「 020」を付加されている。行番号「007600」はGET
文なので残され、相対番号「 021」を付加されている。
行番号「008600」は、行番号「007600」のGET文の繰
り返しを意味するGOTO文なので残され、相対番号
「022」を付加されている。そして、行番号「004900」
はGET文なので残され、相対番号「 024」を付加され
ている。
【0068】このようなアクセス構造50から、プログ
ラム「PROG1」のファイルアクセスの状況が判る。
すなわち、相対番号「 001」より、まずファイル「F0
2」の最初のデータが読み込まれることが判る。以下、
ここで読み込まれるファイル「F02」の最初のデータ
を、説明のため、「データA1」とする。
【0069】次に、相対番号「 002」〜「 004」より、
ファイル「F01」とのアクセスが行われ、先にファイ
ル「F02」から読み込まれたデータ「データA1」に
関連するデータが存在すれば、そのデータが読み込まれ
ることが判る。データの読込みは、に関連するデータが
すべて読み込まれるまで繰り返される。以下、ここで
「データA1」に関連して読み込まれるファイル「F0
1」のデータを、「データB11」、「データB12」
・・・「データB1X」とする。次に、相対番号「 00
8」により、ファイル「F04」とのアクセスが行わ
れ、先にファイル「F01」から読み込まれたデータ
「データB11」の親にあたるデータが読み込まれるこ
とが判る。以下、ここで「データB11」の親として読
み込まれるファイル「F04」のデータを、「データC
11」とする。
【0070】相対番号「 009」により、ファイル「F0
5」とのアクセスが行われ、先にファイル「F02」か
ら読み込まれた「データA1」の親にあたるデータが読
み込まれることが判る。以下、ここで「データA1」の
親として読み込まれるファイル「F05」のデータを、
「データD1」とする。
【0071】相対番号「 010」により、ファイル「F0
6」とのアクセスが行われ、インデックスを指定してデ
ータが読み込まれることが判る。以下、ここで読み込ま
れるファイル「F06」のデータを、「データEk」と
する。
【0072】相対番号「 011」により、ファイル「F0
7」とのアクセスが行われ、先にファイル「F06」か
ら読み込まれた「データEk」の親にあたるデータが読
み込まれることが判る。以下、ここで「データEk」の
親として読み込まれるファイル「F07」のデータを、
「データFk」とする。
【0073】相対番号「 012」により、ファイル「F0
8」とのアクセスが行われ、先にファイル「F06」か
ら読み込まれた「データEk」の親にあたるデータが読
み込まれることが判る。以下、ここで「データEk」の
親として読み込まれるファイル「F08」のデータを、
「データGk」とする。
【0074】相対番号「 013」〜「 016」により、ファ
イル「F03」とのアクセスが行われ、先にファイル
「F01」から読み込まれた「データB11」に関連す
るデータが存在すれば、そのデータが読み込まれること
が判る。データの読込みは、関連するデータがすべて読
み込まれるまで繰り返される。以下、ここで「データB
11」に関連して読み込まれるファイル「F03」のデ
ータを、「データH111」、「データH112」・・
・「データH11X」とする。
【0075】相対番号「 017」〜「 019」により、ファ
イル「S01」とのアクセスが行われ、インデックスを
指定してデータが書き込まれることが判る。データの書
き込みは、必要に応じて繰り返される。
【0076】相対番号「 020」〜「 022」により、ファ
イル「F01」とのアクセスが行われ、先にファイル
「F02」から読み込まれた「データA1」に関連する
データが存在すれば、そのデータが読み込まれることが
判る。ここで読み込まれるデータは、「データB1
1」、「データB12」・・・「データB1X」であ
る。
【0077】相対番号「 023」により、相対番号「 00
6」以下の流れに再度進むことが判る。すなわち、「デ
ータB11」に関する処理が終了したので、次は「デー
タB12」に関する処理が行われる。相対番号「 006」
〜「 023」の処理は、「データB1X」に関する処理が
終了するまで繰り返される。
【0078】相対番号「 024」〜「 025」により、ファ
イル「F02」の次のデータが読み込まれ、相対番号
「 002」以下の流れに再度進むことが判る。すなわち、
「データA1」に関する処理が終了したので、次はファ
イル「F02」に含まれた次のデータである「データA
2」に関する処理が行われる。相対番号「 002」〜「 0
25」の処理は、ファイル「F02」のすべてのデータに
関する処理が終了するまで繰り返される。
【0079】このように、本発明のプログラム解析装置
ではソースプログラムからアクセス構造が出力できるの
で、ファイルアクセスの状況を解析することができる。
また、本発明ではアクセス構造を表形式で出力すること
もできる。
【0080】図13は、図2〜図5に示されたプログラ
ム10から生成した表形式のアクセス構造を示した図で
ある。アクセス構造60では、横軸にファイル名を記載
し、縦軸で処理の流れを意味するようにして、アクセス
構造を表形式で表わしている。繰り返し処理は矢印等で
示せばよい。また、ファイルアクセスを意味する文を添
付することで、必要に応じて修正の手掛かりとすること
ができる。
【0081】本発明のプログラム解析装置では、このよ
うにファイルアクセスの状況を表形式で表わすことがで
きるので、プログラム形式のアクセス構造だけでは把握
しづらいようなプログラムに関しても解析が容易とな
る。
【0082】以上説明したように、本発明のプログラム
解析装置では、プログラム中に、離れた手続きを呼び出
す手続き呼出が含まれている場合でも、その手続き順序
に対応してアクセス状況を解析、出力することが可能で
ある。
【0083】また、この解析結果は正確かつ高速に、さ
らに人間が理解しやすいように出力されるので、この解
析結果をファイルの統廃合等を行う際の指針とすること
ができる。
【0084】図14は、本発明のプログラム解析装置に
て解析されたファイルのアクセス状況の解析結果を3
例、示した図である。解析結果71は、プログラム「P
ROG001」のファイルアクセス状況を、解析結果7
2は、プログラム「PROG002」のファイルアクセ
ス状況を、解析結果73は、プログラム「PROG00
3」のファイルアクセス状況を、表形式で示している。
【0085】解析結果71により、プログラム「PRO
G001」は、ファイル「F02」のレコードを読み込
んだ後、ファイル「F01」の関連するレコードを読
み、さらにファイル「F01」から読み込んだレコード
の親レコードをファイル「F03」から読み込むという
処理を繰り返すことが判る。
【0086】また、解析結果72の内容が解析結果72
の内容と同一であることから、プログラム「PROG0
02」がプログラム「PROG001」と同様の処理を
繰り返すことが判る。
【0087】さらに、解析結果73により、プログラム
「PROG003」は、ファイル「F04」のレコード
を指定に従って読み込むことが判る。つまり、プログラ
ム「PROG001」、「PROG002」、「PRO
G003」に関してのみ考えると、ファイル「F03」
は独立して読み込まれることはなく、必ずファイル「F
01」との関連に基づいて読み込まれている。従って、
他に支障がなければファイル「F03」をファイル「F
01」に統合してしまった方が、各プログラムのファイ
ルへのアクセス回数を、減少させることができる。
【0088】また、ファイル「F04」は、特に他のフ
ァイルと関連して読み込まれることはない。従って、他
に支障がなければ、セット情報を意識させずに、独立し
たファイルとして記憶装置に格納させることができる。
【0089】このように、本発明のプログラム解析装置
にて、プログラムによるファイルのアクセス状況を解析
し、その結果を人間に判りやすいように出力すること
で、記憶装置内のデータファイル整理等の指針とするこ
とができる。
【0090】なお、上記の説明では、本発明のプログラ
ム解析装置をプログラム言語「COBOL」で記述され
たソースプログラムに適用した例を示したが、「COB
OL」以外のプログラム言語で記述されたソースプログ
ラムに対しても本発明のプログラム解析装置は適用可能
である。
【0091】
【発明の効果】以上説明したように、本発明のプログラ
ム解析装置には、ソースプログラム中に、離れて記述さ
れた手続きを呼び出す手続き呼出が含まれている場合
に、この手続きを手続き呼出の直後に挿入する構造展開
手段と、入出力文に関与しない文を削除する削除手段と
を設けたので、ソースプログラム中に、離れた手続きを
呼び出す手続き呼出が含まれている場合でも、その手続
き順序に対応してアクセス状況を解析、出力することが
できる。
【0092】また、本発明のプログラム解析方法では、
ソースプログラム中に、離れて記述された手続きを呼び
出す手続き呼出が含まれている場合に、この手続きを手
続き呼出の直後に挿入するので、ソースプログラム中
に、離れた手続きを呼び出す手続き呼出が含まれている
場合でも、その手続き順序に対応してアクセス状況を解
析、出力することができる。
【0093】さらに、本発明のコンピュータをプログラ
ム解析装置として機能させるためのプログラムを格納し
たソースプログラム解析用プログラム記憶媒体は、コン
ピュータを、ソースプログラム中に、離れて記述された
手続きを呼び出す手続き呼出が含まれている場合に、こ
の手続きを手続き呼出の直後に挿入する構造展開手段及
び入出力文に関与しない文を削除する削除手段として機
能させるので、ソースプログラム中に、離れた手続きを
呼び出す手続き呼出が含まれている場合でも、その手続
き順序に対応してアクセス状況を解析、出力することが
できる。
【図面の簡単な説明】
【図1】本発明のプログラム解析装置の原理構成を示し
たブロック図である。
【図2】ソースプログラムの例を示す図(その1)であ
る。
【図3】ソースプログラムの例を示す図(その2)であ
る。
【図4】ソースプログラムの例を示す図(その3)であ
る。
【図5】ソースプログラムの例を示す図(その4)であ
る。
【図6】図2〜図5にて示したプログラムから生成した
プログラム基本構造を示した図(その1)である。
【図7】図2〜図5にて示したプログラムから生成した
プログラム基本構造を示した図(その2)である。
【図8】図2〜図5にて示したプログラムから生成され
たプログラム第1展開構造の様子を示した図(その1)
である。
【図9】図2〜図5にて示したプログラムから生成され
たプログラム第1展開構造の様子を示した図(その2)
である。
【図10】図8、9にて示したプログラム第1展開構造
からプログラム第2展開構造が生成された様子を示した
図(その1)である。
【図11】図8、9にて示したプログラム第1展開構造
からプログラム第2展開構造が生成された様子を示した
図(その2)である。
【図12】図2〜図5に示されたプログラムから生成し
たアクセス構造を示した図である。
【図13】図2〜図5に示されたプログラムから生成し
た表形式のアクセス構造を示した図である。
【図14】本発明のプログラム解析装置にて解析された
ファイルのアクセス状況の解析結果を3例、示した図で
ある。
【符号の説明】
1 ソースプログラム 2 プログラム受付手段 3 構造抽出手段 4 プログラム基本構造 5 構造展開手段 5a 置換部 5b 挿入部 6 プログラム展開構造 7 削除手段 8 アクセス構造 9 出力手段

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 プログラム言語にて記述されたソースプ
    ログラムを解析するプログラム解析装置において、 前記ソースプログラムの入力を受け付けるプログラム受
    付手段と、 前記ソースプログラムから、前記ソースプログラムの制
    御構造を決定する文と入出力文と手続きとを抽出し、プ
    ログラム基本構造とする構造抽出手段と、 前記プログラム基本構造に、離れて記述された手続きを
    呼び出す手続き呼出が含まれている場合に、前記手続き
    を前記手続き呼出の直後に挿入し、プログラム展開構造
    とする構造展開手段と、 前記プログラム展開構造から前記入出力文に関与しない
    文を削除し、アクセス構造とする削除手段と、 前記アクセス構造を出力する出力手段と、 を有することを特徴とするプログラム解析装置。
  2. 【請求項2】 前記構造抽出手段は、前記ソースプログ
    ラムが他プログラムからの複写を含む場合には、複写対
    象となっているプログラム部分からも制御構造を決定す
    る文と入出力文と手続きとを抽出して、前記プログラム
    基本構造を生成することを特徴とする請求項1記載のプ
    ログラム解析装置。
  3. 【請求項3】 前記構造展開手段は、前記プログラムの
    制御構造を決定する文に含まれる手続き呼出にて指定さ
    れる手続き名を、前記手続き名の行番号に置き換える置
    換部と、前記手続きを前記手続き呼出の直後に挿入する
    挿入部とから構成されることを特徴とする請求項1記載
    のプログラム解析装置。
  4. 【請求項4】 前記出力手段は、前記アクセス構造をプ
    ログラム言語のまま出力することを特徴とする請求項1
    記載のプログラム解析装置。
  5. 【請求項5】 前記出力手段は、前記アクセス構造から
    ファイルアクセスの様子を示すアクセス表を生成し、前
    記アクセス表を出力することを特徴とする請求項1記載
    のプログラム解析装置。
  6. 【請求項6】 プログラム言語にて記述されたソースプ
    ログラムを解析するプログラム解析方法において、 前記プログラムの入力を受け付け、 前記プログラムから、前記プログラムの制御構造を決定
    する文と入出力文と手続きとを抽出してプログラム基本
    構造とし、 前記プログラム基本構造に、離れて記述された手続きを
    呼び出す手続き呼出が含まれている場合には、前記手続
    きを前記手続き呼出の直後に挿入し、 前記入出力文に関与しない文を削除して、出力すること
    を特徴とするプログラム解析方法。
  7. 【請求項7】 コンピュータを、プログラム言語にて記
    述されたソースプログラムを解析するプログラム解析装
    置として機能させるためのプログラムを記録したソース
    プログラム解析用プログラム記録媒体において、 前記ソースプログラムの入力を受け付けるプログラム受
    付手段と、 前記ソースプログラムから、前記ソースプログラムの制
    御構造を決定する文と入出力文と手続きとを抽出し、プ
    ログラム基本構造とする構造抽出手段と、 前記プログラム基本構造に、離れて記述された手続きを
    呼び出す手続き呼出部が含まれている場合に、前記手続
    きを前記手続き呼出部に挿入し、プログラム展開構造と
    する構造展開手段と、 前記プログラム展開構造から前記入出力文に関与しない
    文を削除し、アクセス構造とする削除手段と、 前記アクセス構造を出力する出力手段と、 としてコンピュータを機能させるためのソースプログラ
    ム解析用プログラム記録媒体。
JP08250297A 1997-04-01 1997-04-01 プログラム解析装置、プログラム解析方法及びソースプログラム解析用プログラムを記録したコンピュータ読み取り可能な記録媒体 Expired - Fee Related JP3970373B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08250297A JP3970373B2 (ja) 1997-04-01 1997-04-01 プログラム解析装置、プログラム解析方法及びソースプログラム解析用プログラムを記録したコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08250297A JP3970373B2 (ja) 1997-04-01 1997-04-01 プログラム解析装置、プログラム解析方法及びソースプログラム解析用プログラムを記録したコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JPH10283175A true JPH10283175A (ja) 1998-10-23
JP3970373B2 JP3970373B2 (ja) 2007-09-05

Family

ID=13776283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08250297A Expired - Fee Related JP3970373B2 (ja) 1997-04-01 1997-04-01 プログラム解析装置、プログラム解析方法及びソースプログラム解析用プログラムを記録したコンピュータ読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JP3970373B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02112024A (ja) * 1988-10-21 1990-04-24 Hitachi Ltd プログラム処理パターン推定方法
JPH0324639A (ja) * 1989-06-21 1991-02-01 Hitachi Ltd プログラム理解支援方法
JPH0540616A (ja) * 1991-08-02 1993-02-19 Hitachi Ltd プログラム仕様生成方法
JPH07104994A (ja) * 1993-09-30 1995-04-21 Fujitsu Ltd ソースプログラムの業務仕様解析装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02112024A (ja) * 1988-10-21 1990-04-24 Hitachi Ltd プログラム処理パターン推定方法
JPH0324639A (ja) * 1989-06-21 1991-02-01 Hitachi Ltd プログラム理解支援方法
JPH0540616A (ja) * 1991-08-02 1993-02-19 Hitachi Ltd プログラム仕様生成方法
JPH07104994A (ja) * 1993-09-30 1995-04-21 Fujitsu Ltd ソースプログラムの業務仕様解析装置

Also Published As

Publication number Publication date
JP3970373B2 (ja) 2007-09-05

Similar Documents

Publication Publication Date Title
EP0451384A1 (en) Hypertext data processing system
JPH04229364A (ja) 強調特性変更方法及びシステム
US6819806B1 (en) Document processing apparatus and storage medium
US8898625B2 (en) Optimized storage of function variables
EP2587380B1 (en) Runtime environment and method for non-invasive monitoring of software applications
JP2005173999A (ja) 電子ファイル検索装置、電子ファイル検索システム、電子ファイル検索方法、プログラムおよび記録媒体
JPH10283175A (ja) プログラム解析装置、プログラム解析方法及びソースプログラム解析用プログラム記録媒体
JPH08221417A (ja) 構造化文書の新旧対照編集装置
JP2000099526A (ja) 文書情報抽出装置
JP2766261B2 (ja) 文章要約システム
CN111209075A (zh) 多语言界面维护方法、系统、存储介质和智能设备
JPS63288357A (ja) デ−タ編集方式
CN113010400B (zh) 计算机工程技术文档智能生成、复盘系统和方法
CN118093512A (zh) 一种基于修订模式识别软件工程数据条目化变更的方法
JPH06202841A (ja) アイコンの表示方法
JP3458421B2 (ja) 文書処理システム
JP2721377B2 (ja) Basicプログラム圧縮方法
JP2811804B2 (ja) 変数出力範囲指定方式
JP2946509B2 (ja) 対話型マニュアルの制御方法
JPH0773030A (ja) 動的モデル設計支援方法
JP3031767B2 (ja) 自然言語処理装置
KR20230172354A (ko) 업스트림과 다운스트림을 이용한 문서 제어 방법 및 시스템
CN118210494A (zh) 组件开发方法、装置和计算设备
JPH0358125A (ja) ソースプログラムの世代管理方式
JPH06324853A (ja) オブジェクト指向プログラミング言語を対象とした原始プログラム編集装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070330

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: 20070605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070606

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110615

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120615

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120615

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130615

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140615

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees