JP3694872B2 - Dependent subroutine search support device - Google Patents

Dependent subroutine search support device Download PDF

Info

Publication number
JP3694872B2
JP3694872B2 JP26798999A JP26798999A JP3694872B2 JP 3694872 B2 JP3694872 B2 JP 3694872B2 JP 26798999 A JP26798999 A JP 26798999A JP 26798999 A JP26798999 A JP 26798999A JP 3694872 B2 JP3694872 B2 JP 3694872B2
Authority
JP
Japan
Prior art keywords
subroutine
call flow
flow graph
subroutines
candidate
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
JP26798999A
Other languages
Japanese (ja)
Other versions
JP2001092652A (en
Inventor
暁文 久米田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co 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 Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP26798999A priority Critical patent/JP3694872B2/en
Publication of JP2001092652A publication Critical patent/JP2001092652A/en
Application granted granted Critical
Publication of JP3694872B2 publication Critical patent/JP3694872B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、サブルーチンの従属関係の分析を支援する従属サブルーチン探索支援装置に関する。
【0002】
【従来の技術】
コンピュータのプログラムは通常互いに呼び出し合うサブルーチンの集まりとして定義される。サブルーチンの中には、あるサブルーチンに従属した機能を持つものがある。例えば、データベースをアクセスするためのサブルーチンAを呼び出すときには、排他処理を目的としたサブルーチンBを前後に呼ぶ必要がある。このような関係のサブルーチンBはサブルーチンAに従属していると考えることができる。
【0003】
コンピュータプログラムのメンテナンス作業では、このように注目しているサブルーチンに従属しているサブルーチンを知っておくことが重要となる。しかし、古いプログラムに関しては、こうした情報を記載しておくドキュメントがプログラムの実体とずれていたり、あるいは記載漏れや紛失などによって十分揃っていない場合がある。そのような場合、従来はサブルーチン間の従属関係を調べるためにプログラムの膨大なソースコードを手作業で分析する必要があった。
【0004】
【発明が解決しようとする課題】
上記のようにドキュメントが不十分なプログラムのサブルーチンの従属関係を手作業で分析することは、作業効率が悪く、しかも分析誤りが生じ易く、信頼性に欠けるという問題がある。
【0005】
本発明の目的は、ドキュメントが不十分なプログラムのサブルーチンの従属関係分析を半自動化し、注目しているサブルーチンに従属するサブルーチンを探索する際の作業効率を向上させ、かつ信頼性の高い分析結果を得、プログラムのメンテナンス等の効率化に貢献することができる従属サブルーチン探索支援装置を提供することにある。
【0006】
【課題を解決するための手段】
上記の目的を達成するため、本発明は、プログラムのソースコードからコールフローグラフと逆コールフローグラフを生成するコールフロー解析手段と、生成されたコールフローグラフと逆コールフローグラフから注目するサブルーチンに対して従属するサブルーチンの候補を抽出する候補サブルーチン抽出手段とを備えることを特徴とする。
【0007】
【発明の実施の形態】
以下、本発明の従属サブルーチン探索支援装置について図面に示す実施形態に基づいて詳細に説明する。
図1は、本発明の従属サブルーチン探索支援装置の実施形態を示す機能ブロック図である。この実施形態の従属サブルーチン探索支援装置は、プログラムのソースコード103からコールフローグラフ104と逆コールフローグラフ105を生成するコールフロー解析装置101と、生成されたコールフローグラフ104と逆コールフローグラフ105から、注目するサブルーチンに対して従属するサブルーチンの候補106を抽出する候補サブルーチン抽出装置102とから構成されている。
【0008】
図2は、コールフロー解析装置101の詳細を示すブロック図である。
図2に示すようにコールフロー解析装置101は、プログラムソースコード103の構文を解析するための構文解析装置1011、この構文解析装置1011による構文解析結果からサブルーチンの呼び出し関係を分析し、コールフローグラフを生成するコールフローグラフ生成装置1012、生成されたコールフローグラフから逆コールフローグラフを生成する逆コールフローグラフ生成装置1013を備える。
【0009】
図3は、候補サブルーチン抽出装置102の詳細を示すブロック図である。図3に示すように候補サブルーチン抽出装置102は、ルートサブルーチン選択装置1021、候補サブルーチン刻印装置1022、候補サブルーチン選別装置1023を備える。
【0010】
図4は、コールフロー解析装置101の動作の詳細を示すフローチャートである。このフローチャートに示すように、コールフロー解析装置101は、まず、分析対象のプログラムソースコード103を構文解析する(ステップ401)。その解析結果は、プログラムソースコード103に含まれるサブルーチンの構文木となる。このステップは構文解析装置1011によって実行される。続いて、分析対象のソースプログラム103に含まれる各サブルーチンの構文木からサブルーチン呼び出し文を抽出し、サブルーチンを頂点とし、呼び出し関係を辺とする有向グラフ(コールフローグラフ)の隣接行列を作成する(ステップ402)。このステップはコールフローグラフ生成装置1012によって実行される。さらに、生成したコールフローグラフの各辺の始点と終点を逆にした有向グラフ(逆コールフローグラフ)の隣接行列を作成する(ステップ403)。このステップは逆コールフローグラフ生成装置1013によって実行される。
【0011】
図5は、プログラムソースコード103の一例であり、サブルーチンP00,p10、P20,P01,P02,P03,P04,P05PEX,PDBを含んでいる。この例で示すプログラムは、データベースアクセスに伴う排他処理を行っているものとする。PDBがデータベースアクセスのサブルーチンであり、PEXが排他処理サブルーチンである。ここでは、不十分なドキュメントしか揃っていないため、PDBがデータベースアクセスのサブルーチンであることが分かっているが、PEXが排他処理サブルーチンであることは分かっていないものとする。また、排他処理サブルーチンは1つであることは分かっているものと仮定する。
【0012】
図6は、図5に示したプログラムソースコード103から、図4のステップ401と402の処理によって作成したコールフローグラフを表す隣接行列である。図6の行と列の交点に○があるところに辺がある。
【0013】
図7は同じコールフローグラフ701をダイアグラム形式で記述したものである。さらに図8は、図4のステップ403の処理によって作成した逆コールフローグラフ801をダイアグラム形式で記述したものである。
【0014】
図9は、候補サブルーチン抽出装置102の動作の詳細を示すフローチャートである。候補サブルーチン抽出装置102では、まず、ユーザが注目サブルーチンを指定する(ステップ901)。続いて、注目サブルーチンを直接あるいは間接に呼んでいるルートサブルーチン(注目ルートサブルーチン)の一覧を作成する(ステップ902)。この2つのステップの処理はルートサブルーチン選択装置1021によって実行される。次に、各注目ルートサブルーチンから直接あるいは間接に呼び出されているコールフローグラフ上のサブルーチンに印を付ける(ステップ903)。このステップの処理は候補サブルーチン刻印装置1022によって実行される。最後に、全てのルートサブルーチンの刻印が付いているサブルーチンを選別し、候補サブルーチンとする(ステップ904)。このステップの処理は候補サブルーチン選別装置1023によって実行される。
【0015】
図10は、図7のコールフローグラフ701から、図9の処理によって、排他処理サブルーチンである可能性があるサブルーチンを絞り込んだ様子を表している。まず、ステップ901において、注目サブルーチンとしてデータベースアクセスサブルーチンPDBを指定する。続いて、ステップ902において、ルートサブルーチン選択装置1021が、PDBを直接あるいは間接に呼び出している注目ルートサブルーチンP00とP20を選択する。続いて、ステップ903において、まず、注目ルートサブルーチンP00によって直接あるいは間接に呼び出されているコールフローグラフ上のサブルーチンに印を付け(図10では実線の下線で示している)、また注目ルートサブルーチンP20によって直接あるいは間接に呼び出されているコールフローグラフ上のサブルーチンに印を付ける(図10では点線の下線で示している)。最後に、ステップ904において、ルートサブルーチンP00とP20の両方の刻印が付いているサブルーチンを選別し、PEX、P05を候補サブルーチンとする。ここで、注目サブルーチンであるPDBは既知であるので除外される。この後は、PEX、P05の各々のソースコードを目視で調べることにより、PEXが求める排他処理サブルーチンであることが確認される。
【0016】
なお、探索の対象となる従属サブルーチンの数が不明であり、複数の可能性がある場合、図9のフローチャートのステップ904において、いずれか1つの注目ルートサブルーチンの刻印が付いているサブルーチンを候補サブルーチンとして抽出すればよい。
【0017】
また、上記実施形態において、コールフローグラフあるいは逆コールフローグラフは解析担当者が確認可能な形態で表示装置または印刷装置に出力されることは言うまでもない。また、注目サブルーチンについても下線でなく、網掛け表示、フリッカ表示、色分け表示などの各種の形態で報知することができる。
【0018】
【発明の効果】
以上説明したように本発明によれば、プログラムのソースコード中の注目するサブルーチンに従属するサブルーチンの候補を効率的に絞り込むことができ、信頼性の高い分析結果を得ることができる。したがって、ドキュメント等が不十分なプログラムの保守作業の効率向上を図ることができる。
【図面の簡単な説明】
【図1】本発明の実施形態を示す機能ブロック図である。
【図2】コールフロー解析装置の詳細構成を示すブロック図である。
【図3】候補サブルーチン抽出装置の詳細構成を示すブロック図である。
【図4】コールフロー解析装置の動作の詳細を示すフローチャートである。
【図5】プログラムのソースコードの一例を示す図である。
【図6】コールフローグラフを表す隣接行列の一例を示す図である。
【図7】ダイアグラム形式で記述したコールフローグラフの一例を示す図である。
【図8】ダイアグラム形式で記述した逆コールフローグラフの一例を示す図である。
【図9】候補サブルーチン抽出装置の動作の詳細を示すフローチャートである。
【図10】コールフローグラフへの従属サブルーチン候補の刻印の一例を示す図である。
【符号の説明】
101…コールフロー解析装置、102…候補サブルーチン抽出装置、103…プログラムソースコード、104…コールフローグラフ、105…逆コールフローグラフ、106…従属するサブルーチンの候補、1011…構文解析装置、1012…コールフローグラフ生成装置、1013…逆コールフローグラフ生成装置、1021…ルートサブルーチン選択装置、1022…候補サブルーチン刻印装置、1023…候補サブルーチン選別装置。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a subordinate subroutine search support apparatus that supports analysis of subordinate dependency relationships.
[0002]
[Prior art]
A computer program is usually defined as a collection of subroutines that call each other. Some subroutines have functions dependent on a subroutine. For example, when calling the subroutine A for accessing the database, it is necessary to call the subroutine B for exclusive processing before and after. Subroutine B having such a relationship can be considered to be subordinate to subroutine A.
[0003]
In the maintenance work of a computer program, it is important to know the subroutines that are subordinate to the subroutines that are focused on in this way. However, with respect to old programs, there are cases where documents for storing such information are out of alignment with the actual program, or are not fully prepared due to omission or loss of description. In such a case, conventionally, it has been necessary to manually analyze the enormous source code of the program in order to examine the dependency relationship between the subroutines.
[0004]
[Problems to be solved by the invention]
As described above, manually analyzing the dependency relationship of subroutines in a program with insufficient documentation has a problem that work efficiency is low, analysis errors are likely to occur, and reliability is lacking.
[0005]
The object of the present invention is to semi-automate the dependency analysis of subroutines of programs with insufficient documents, improve the work efficiency when searching for subroutines subordinate to the subroutine of interest, and obtain highly reliable analysis results. Another object of the present invention is to provide a subordinate subroutine search support apparatus that can contribute to the efficiency of program maintenance and the like.
[0006]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides a call flow analysis means for generating a call flow graph and a reverse call flow graph from a source code of a program, and a subroutine to be noted from the generated call flow graph and reverse call flow graph. And a candidate subroutine extracting means for extracting a candidate of a subordinate subroutine.
[0007]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a dependent subroutine search support device of the present invention will be described in detail based on embodiments shown in the drawings.
FIG. 1 is a functional block diagram showing an embodiment of a dependent subroutine search support apparatus of the present invention. The dependent subroutine search support device of this embodiment includes a call flow analysis device 101 that generates a call flow graph 104 and an inverse call flow graph 105 from a source code 103 of a program, and a generated call flow graph 104 and an inverse call flow graph 105. And a candidate subroutine extracting device 102 for extracting a subroutine candidate 106 subordinate to the subroutine of interest.
[0008]
FIG. 2 is a block diagram showing details of the call flow analysis apparatus 101.
As shown in FIG. 2, the call flow analysis apparatus 101 analyzes a syntax of the program source code 103, a syntax analysis apparatus 1011 for analyzing a subroutine call from a syntax analysis result by the syntax analysis apparatus 1011, and a call flow graph. A call flow graph generation device 1012 for generating a reverse call flow graph, and a reverse call flow graph generation device 1013 for generating a reverse call flow graph from the generated call flow graph.
[0009]
FIG. 3 is a block diagram showing details of the candidate subroutine extracting apparatus 102. As shown in FIG. 3, the candidate subroutine extracting apparatus 102 includes a route subroutine selecting apparatus 1021, a candidate subroutine marking apparatus 1022, and a candidate subroutine selecting apparatus 1023.
[0010]
FIG. 4 is a flowchart showing details of the operation of the call flow analysis apparatus 101. As shown in this flowchart, the call flow analysis apparatus 101 first parses the program source code 103 to be analyzed (step 401). The analysis result becomes a syntax tree of a subroutine included in the program source code 103. This step is executed by the syntax analysis apparatus 1011. Subsequently, a subroutine call sentence is extracted from the syntax tree of each subroutine included in the source program 103 to be analyzed, and an adjacency matrix of a directed graph (call flow graph) having the subroutine as a vertex and an edge of the call relation is created (step) 402). This step is executed by the call flow graph generation device 1012. Further, an adjacency matrix of a directed graph (reverse call flow graph) in which the start point and end point of each side of the generated call flow graph are reversed is created (step 403). This step is executed by the reverse call flow graph generation device 1013.
[0011]
FIG. 5 shows an example of the program source code 103, which includes subroutines P00, p10, P20, P01, P02, P03, P04, P05PEX, and PDB. It is assumed that the program shown in this example performs exclusive processing accompanying database access. PDB is a database access subroutine, and PEX is an exclusive processing subroutine. Here, since there are only insufficient documents, it is known that PDB is a database access subroutine, but PEX is not known to be an exclusive processing subroutine. It is assumed that it is known that there is only one exclusive processing subroutine.
[0012]
FIG. 6 is an adjacency matrix representing a call flow graph created by the processing of steps 401 and 402 in FIG. 4 from the program source code 103 shown in FIG. There is an edge where there is a circle at the intersection of the row and column in FIG.
[0013]
FIG. 7 describes the same call flow graph 701 in a diagram format. Further, FIG. 8 describes the reverse call flow graph 801 created by the processing of step 403 in FIG. 4 in a diagram format.
[0014]
FIG. 9 is a flowchart showing details of the operation of the candidate subroutine extraction apparatus 102. In candidate subroutine extraction apparatus 102, the user first designates a target subroutine (step 901). Subsequently, a list of route subroutines (attention route subroutines) that directly or indirectly call the attention subroutine is created (step 902). The processing of these two steps is executed by the route subroutine selection device 1021. Next, the subroutine on the call flow graph that is called directly or indirectly from each target route subroutine is marked (step 903). The processing in this step is executed by the candidate subroutine marking device 1022. Finally, subroutines marked with all the root subroutines are selected and set as candidate subroutines (step 904). The processing in this step is executed by the candidate subroutine selection device 1023.
[0015]
FIG. 10 shows a state in which subroutines that may be exclusive processing subroutines are narrowed down from the call flow graph 701 in FIG. 7 by the processing in FIG. First, in step 901, the database access subroutine PDB is designated as the subroutine of interest. Subsequently, in step 902, the route subroutine selecting device 1021 selects the route subroutines P00 and P20 that are calling the PDB directly or indirectly. Subsequently, in step 903, first, a subroutine on the call flow graph that is called directly or indirectly by the attention route subroutine P00 is marked (indicated by a solid underline in FIG. 10), and the attention route subroutine P20. Marks a subroutine on the call flow graph that is called directly or indirectly by (indicated by a dotted underline in FIG. 10). Finally, in step 904, subroutines marked with both route subroutines P00 and P20 are selected, and PEX and P05 are set as candidate subroutines. Here, the PDB which is the target subroutine is known and thus excluded. Thereafter, the source code of each of PEX and P05 is visually inspected to confirm that it is an exclusive processing subroutine required by PEX.
[0016]
If the number of subordinate subroutines to be searched is unknown and there are a plurality of possibilities, in step 904 of the flowchart in FIG. 9, one of the subroutines marked with the attention route subroutine is selected as a candidate subroutine. It may be extracted as
[0017]
In the above embodiment, needless to say, the call flow graph or reverse call flow graph is output to the display device or the printing device in a form that can be confirmed by the person in charge of analysis. Also, the notice subroutine can be notified in various forms such as shaded display, flicker display, and color-coded display instead of underlining.
[0018]
【The invention's effect】
As described above, according to the present invention, it is possible to efficiently narrow down subroutine candidates subordinate to the subroutine of interest in the source code of the program, and obtain highly reliable analysis results. Therefore, it is possible to improve the efficiency of maintenance work for programs with insufficient documents and the like.
[Brief description of the drawings]
FIG. 1 is a functional block diagram showing an embodiment of the present invention.
FIG. 2 is a block diagram showing a detailed configuration of a call flow analysis apparatus.
FIG. 3 is a block diagram showing a detailed configuration of a candidate subroutine extraction apparatus.
FIG. 4 is a flowchart showing details of the operation of the call flow analysis apparatus.
FIG. 5 is a diagram illustrating an example of a source code of a program.
FIG. 6 is a diagram illustrating an example of an adjacency matrix representing a call flow graph.
FIG. 7 is a diagram showing an example of a call flow graph described in a diagram format.
FIG. 8 is a diagram illustrating an example of a reverse call flow graph described in a diagram format.
FIG. 9 is a flowchart showing details of the operation of the candidate subroutine extraction apparatus.
FIG. 10 is a diagram illustrating an example of marking of a dependent subroutine candidate on a call flow graph.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 101 ... Call flow analysis apparatus, 102 ... Candidate subroutine extraction apparatus, 103 ... Program source code, 104 ... Call flow graph, 105 ... Inverse call flow graph, 106 ... Subordinate subroutine candidate, 1011 ... Syntax analysis apparatus, 1012 ... Call Flow graph generation device, 1013 ... Reverse call flow graph generation device, 1021 ... Route subroutine selection device, 1022 ... Candidate subroutine marking device, 1023 ... Candidate subroutine selection device.

Claims (1)

プログラムのソースコードからコールフローグラフを生成するコールフロー解析手段と、生成された前記コールフローグラフから注目するサブルーチンを直接あるいは間接に呼び出している複数の注目ルートサブルーチンを抽出するルートサブルーチン選択手段と、抽出されたそれぞれの注目ルートサブルーチンから直接あるいは間接に呼び出されているサブルーチンを前記コールフローグラフに基づいて抽出し、抽出したサブルーチンのうち各注目ルートサブルーチンから共通して呼び出されているサブルーチンを探索対象のサブルーチン候補として抽出する候補サブルーチン選択手段とを備えることを特徴とする従属サブルーチン探索支援装置。Call flow analysis means for generating a call flow graph from the source code of the program, route subroutine selection means for extracting a plurality of target route subroutines that call the target subroutine directly or indirectly from the generated call flow graph , and Based on the call flow graph, a subroutine that is directly or indirectly called from each extracted target route subroutine is extracted based on the call flow graph, and a subroutine that is commonly called from each target route subroutine among the extracted subroutines is searched. A subordinate subroutine search support device, comprising: candidate subroutine selection means for extracting as a candidate for the subroutine .
JP26798999A 1999-09-22 1999-09-22 Dependent subroutine search support device Expired - Fee Related JP3694872B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26798999A JP3694872B2 (en) 1999-09-22 1999-09-22 Dependent subroutine search support device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26798999A JP3694872B2 (en) 1999-09-22 1999-09-22 Dependent subroutine search support device

Publications (2)

Publication Number Publication Date
JP2001092652A JP2001092652A (en) 2001-04-06
JP3694872B2 true JP3694872B2 (en) 2005-09-14

Family

ID=17452373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26798999A Expired - Fee Related JP3694872B2 (en) 1999-09-22 1999-09-22 Dependent subroutine search support device

Country Status (1)

Country Link
JP (1) JP3694872B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2434664A (en) * 2006-01-25 2007-08-01 Voxsurf Ltd Configuration and analysis of an interactive voice system
US9218169B2 (en) 2013-11-19 2015-12-22 Google Inc. Callpath finder

Also Published As

Publication number Publication date
JP2001092652A (en) 2001-04-06

Similar Documents

Publication Publication Date Title
CN102830975B (en) A kind of assembly language is to the code conversion method of higher level lanquage and device
US20030219149A1 (en) System and methods for extracting semantics from images
US20040030542A1 (en) Apparatus for and method of performing translation, and computer product
CN111400724A (en) Operating system vulnerability detection method, system and medium based on code similarity analysis
CN103294594A (en) Test based static analysis misinformation eliminating method
CN109308254A (en) A kind of test method, device and test equipment
CN104714882A (en) Code information processing method and device
JPH0683598A (en) Job flow specification automatic generating method
CN101288071A (en) Method and computer unit for determining computer service names
CN116934256A (en) Evaluation method, supervision method and system based on marking points of frame selection marking technology
JP3694872B2 (en) Dependent subroutine search support device
JP4853342B2 (en) Control device for instrument analysis and control program
CN109086985A (en) Professional test information management system towards spacecraft
CN109101355B (en) Processor debugging method for extracting error site characteristic test excitation
CN116149668A (en) Application program generation method, device, equipment and storage medium
CN109710808A (en) A kind of analytic method of XML file, system, device and readable storage medium storing program for executing
US8402445B2 (en) Program translation method and notifying instruction inserting method
CN106021380A (en) Method and device for compiling aircraft technical publication based on maintenance engineering analysis data
CN111831535A (en) Code positioning method and device of test case and computer storage medium
JP2020198023A (en) Information processing apparatus, method, and program
Jürgens et al. Modeling the interactive patent retrieval process: an adaptation of Marchionini's information seeking model
CN112612705B (en) Method for accurately positioning and displaying interface coverage rate report
JP6790199B2 (en) Code reading support device, code reading support method, and code reading support program
CN110618809B (en) Front-end webpage input constraint extraction method and device
TWI293737B (en)

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050411

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050617

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees