JP3461938B2 - プログラムのコメント解析装置 - Google Patents

プログラムのコメント解析装置

Info

Publication number
JP3461938B2
JP3461938B2 JP28879094A JP28879094A JP3461938B2 JP 3461938 B2 JP3461938 B2 JP 3461938B2 JP 28879094 A JP28879094 A JP 28879094A JP 28879094 A JP28879094 A JP 28879094A JP 3461938 B2 JP3461938 B2 JP 3461938B2
Authority
JP
Japan
Prior art keywords
program
comment
token
commented
operator
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
JP28879094A
Other languages
English (en)
Other versions
JPH08123674A (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.)
NS Solutions Corp
Original Assignee
NS Solutions 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 NS Solutions Corp filed Critical NS Solutions Corp
Priority to JP28879094A priority Critical patent/JP3461938B2/ja
Publication of JPH08123674A publication Critical patent/JPH08123674A/ja
Application granted granted Critical
Publication of JP3461938B2 publication Critical patent/JP3461938B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ソースプログラムから
コメントを抽出し、該コメントを解析するプログラムの
コメント解析装置に関するものである。
【0002】
【従来の技術】従来、ソースプログラム内に所定のコメ
ントを挿入することが一般に行われている。コメントに
は、プログラマ等によって記述されたコメントとコメン
ト化されたプログラム片とがある。ここで、コメント化
されたプログラム片とは、プログラム本体の一部をコメ
ント化したものである。
【0003】
【発明が解決しようとする課題】しかしながら、プログ
ラム内にコメント化されたプログラム片が存在すると、
すなわちプログラム内のコメントがそのプログラムと同
じプログラミング言語で記述されていると、そのコメン
トをプログラム本体の一部であるかのように誤認識して
しまい、プログラムを理解する際の妨げとなり、保守性
を大きく後退させることがあるという問題があった。
【0004】一例として、図4に示すような FORTRAN言
語で記述されたプログラムを用いて説明する。図4にお
いて、第1行目〜第17行目のうち“c”のマークの付
いている行がコメントであることを示している。これら
のうち、第3行目のコメントは、プログラムの関数につ
いて記述したものであるが、第8、9、10および15
行目のコメントは、プログラム本体の一部をコメント化
したものである。
【0005】ここで、第9行目のコメントは、本来プロ
グラム本体として残っているべきものであったが、第
8、10および15行目のコードをコメント化する際
に、誤って一緒にコメント化されたものである。このた
めに、この関数を実行するプログラムの動作は、プログ
ラムの仕様と異なってしまうという問題が生じる。そこ
で、このプログラムを修正する必要がある。
【0006】ところが、プログラムの修正作業を行う場
合、そのプログラム内にコメント化されたプログラム片
が存在すると、そのコメントをプログラム本体の一部で
あると誤って認識してしまったり、プログラム本体とコ
メントとの識別が困難になり、そのプログラムに新たに
欠陥を埋め込んでしまったりするという問題が起き易く
なるということがあった。
【0007】すなわち、プログラムを修正する際には、
そのプログラムを正確に理解することが必要であるが、
第8、9、10および15行目のようなコメントは、プ
ログラム本体のコードであると誤認識され易く、プログ
ラムの理解を妨げる大きな要因となり得る。
【0008】さらに、例えばソフトウェアの生産量を測
定する場合にも、実質的にはコメントと言えないコメン
ト化されたプログラム片をもコメントとして積算してし
まい、目的にかなった指標として算出することができな
いという問題も生じる。
【0009】上述のようなコメント化されたプログラム
片は、製品としてのプログラムには不要のものであるの
で、上記のような問題を発生させないためにも、これを
検出して取り除く、あるいは所定のマークを付けて区別
する等の何らかの処理をする必要がある。
【0010】従来より、ソースプログラムのコメントの
解析を行なうものとしては、例えば「David Luckham 著
“Programming With Specifications ”(Springer-Verl
ag,1990) 」の文献にみられるように、特定のフォーマ
ットで記述されたコメントを解析し、何らかの処理を行
なうといったものが存在する。
【0011】しかし、このような処理装置は、規定のフ
ォーマットに従うコメントや、プログラム内の特定のコ
メントに対してのみ何らかの処理を行なうものであり、
プログラム内の任意のコメントがそのプログラム言語で
記述されたコメント化されたプログラム片であるか否か
の判定には一切関知していない。
【0012】また、従来からある構文解析手法を単にコ
メント部に適用し、該コメントがプログラミング言語の
文法に準拠しているか否かを判断し、それによって該コ
メントがコメント化されたプログラム片であるか否かを
判定する手法も考えられるが、これは役に立たない。な
ぜならば、従来の構文解析手法は、解析を開始する文法
要素を指定しているのに対し、コメント化されたプログ
ラム片は、任意の文法要素から開始されてしまうからで
ある。
【0013】したがって、上記従来例では、コメント化
されたプログラム片を検出することができず、このた
め、ソースプログラム内のコメントをプログラム本体の
一部であると誤認識してしまうことがあるという問題が
あった。
【0014】本発明は、このような問題を解決するため
に成されたものであり、プログラムを誤って認識してし
まうことを防止するために、プログラム内のコメント化
されたプログラム片を確実に検出することができるよう
することを目的とする。
【0015】
【課題を解決するための手段】本発明のプログラムのコ
メント解析装置は、ソースプログラムからコメントを抽
出し、該コメントを解析するプログラムのコメント解析
装置において、上記ソースプログラム内のコメントを抽
出するコメント抽出手段と、上記コメント抽出手段によ
り抽出されたコメントからトークンを抽出するトークン
抽出手段と、上記トークン抽出手段により抽出されたト
ークンをオペレータとオペランドとに分離し、それぞれ
の数を計数する分離・計数手段と、上記分離・計数手段
により計数されたオペレータ数およびオペランド数に基
づいて全体のトークン数に対するオペレータ数の割合を
表すオペレータ比率を計算し、該オペレータ比率を予め
与えられた閾値と比較することにより、上記コメント抽
出手段により抽出されたコメントがコメント化されたプ
ログラム片であるか否かを判定する判定手段とを具備す
るものである。
【0016】本発明の他の特徴とするところは、上記判
定手段が、上記オペレータおよびオペランドの種類に対
応した所定の係数を有する係数テーブルと、上記分離・
計数手段により計数されたオペレータ数およびオペラン
ド数に対して上記係数テーブルの係数を用いて重み付け
を行う重み付け手段とを具備するものである。
【0017】本発明のその他の特徴とするところは、上
記係数テーブル内の係数を解析対象となる上記ソースプ
ログラム特有の値に調整する係数調整手段を更に設けた
ものである。
【0018】
【作用】本発明は上記技術手段より成るので、プログラ
ム内にあるすべてのコメントを認識し、コメント化され
たプログラム片を確実に検出することができるようにな
る。このため、該検出されたコメント化されたプログラ
ム片を削除したり、マークを付けたりする等、何らかの
処理を行なうことによりプログラムの誤認を防止するこ
とが可能となる。
【0019】本発明の他の特徴によれば、分離・計数手
段により計数されたオペレータ数およびオペランド数に
対して係数テーブルの係数を用いて重み付けを行うよう
にしたので、コメント化されたプログラム片をより正確
に検出することができるようになる。
【0020】本発明のその他の特徴によれば、調整手段
を設けたので、各トークン毎に設けられた係数が解析対
象となるソースプログラム特有の値に調整されるように
なり、特定のソースプログラムに依存したコメント化さ
れたプログラム片であるか否かの判定を行なうことが可
能となる。
【0021】
【実施例】以下、本発明の一実施例の詳細を図面に基づ
いて説明する。図1は、本実施例によるコメント化され
たプログラム片の検出手法を適用したプログラムのコメ
ント解析装置の要部構成を示すブロック図である。ま
た、図2は、以下に述べるコメント化されたプログラム
片であるか否かの判定に関する動作を表すフローチャー
トである。
【0022】図1に示したプログラムのコメント解析装
置1は、ソースプログラム6内のコメントを抽出するコ
メント抽出手段2と、該抽出したコメントからトークン
を抽出するトークン抽出手段3と、該抽出したトークン
をオペレータとオペランドとに分離するとともに、それ
ぞれの数を計数するトークン分離・係数手段4と、上記
コメント抽出手段2により抽出されたコメントがコメン
ト化されたプログラム片であるか否かの判定を行なう判
定手段5とにより構成されている。
【0023】上記コメント抽出手段2は、各プログラミ
ング言語のソースプログラム6に対応して設けられてお
り、該ソースプログラムを解析してプログラム内のコメ
ントを抽出するものである。ここで、ソースプログラム
の言語としては、例えば、C言語や FORTRAN言語などが
あり、C言語のコメント(/*...*/) や FORTRAN言語のコ
メント(C ...) は、それぞれ簡便な方法により抽出する
ことができる。なお、本実施例のプログラムのコメント
解析装置は、その他のプログラミング言語にも適用する
ことが可能である。
【0024】上記トークン抽出手段3は、上記コメント
抽出手段2により抽出されたコメントを各プログラミン
グ言語に応じた仕様により複数のトークンに切り分け、
これを抽出するものである。トークンとは、文法上規定
された特別な意味を持つ文字列、または空白を区切り子
として該区切り子によって区切られた文字列のことをい
う。例えば、以下に示すC言語のプログラムの一部は、
以下のトークンに切り分けられる。 プログラム(一部) if (n > m) return n; トークン “if”“( ”“n ”“> ”“m ”“) ”“return”“n ”“; ”
【0025】上記トークン分離・計数手段4は、上記ト
ークン抽出手段3により抽出されたトークンがプログラ
ミング言語特有のキーワードであれば、それをオペレー
タとして定義するとともに、特有のキーワード以外であ
ればそれをオペランドとして定義し、それぞれの出現回
数を計数するものである。
【0026】ここで、プログラミング言語特有のキーワ
ードとは、例えばC言語では予約語、演算子および他の
区切り子のことであり、 FORTRAN言語では INTEGER、I
F、ELSE、FUNCTION等の文法上規定された特別な意味を
持つ文字列のことを指す。例えば、上記の例で抽出され
たトークンは、以下のオペレータおよびオペランドに分
離される。 オペレータ “if”“( ”“> ”“) ”“return”“; ” オペランド “n ”“m ”“n ”
【0027】上記判定手段5は、上記トークン分離・計
数手段4に対応して設けられており、上記トークン分離
・計数手段4により計数されたオペレータおよびオペラ
ンドの種類とそれぞれの出現回数とをもとに、式(1)
に従ってオペレータ比率を計算し、これにより対象とな
るコメントがコメント化されたプログラム片であるか否
かの判定を行なうものである。
【0028】
【数1】
【0029】ここで、式(1)中のoperator_num(x)と
は、コメント内のオペレータx の数を表し、operand _
num(y)とは、コメント内のオペランドy の数を表す。オ
ペレータ比率が予め与えられた閾値を越える場合には、
そのプログラミング言語で記述されたプログラムの一部
であると認識される可能性が高いと判断し、コメント化
されたプログラム片であると判定する。
【0030】次に、以上のように構成した本実施例によ
るプログラムのコメント解析装置1の動作を具体例を挙
げて説明する。ここでは、図4に示した FORTRAN言語の
ソースプログラム中のコメントを解析する場合を例にと
って説明する。つまり、図4のソースプログラムが図1
に示したソースプログラム6であるとする。
【0031】FORTRAN言語のソースプログラム6は、コ
メント抽出手段2で図4に示した第3、8、9、10お
よび15行目のコメントが抽出され(図2のステップS
1)、トークン抽出手段3で上記抽出された各コメント
内のトークンが抽出される(図2のステップS2)。こ
うして抽出されたトークンは、トークン分離・計数手段
4でオペレータとオペランドとに分離され、それぞれの
数が計数される(図2のステップS3)。例えば、図4
の第3、8および9行目のコメントに対しては、次の表
1のような情報が抽出される。
【0032】
【表1】
【0033】そして、判定手段5により、オペレータお
よびオペランドの種類とその出現回数とに基づいて、上
記コメント抽出手段2により抽出されたコメントがコメ
ント化されたプログラム片かどうかの判定が行なわれ
る。すなわち、上記オペレータおよびオペランドの出現
回数に基づいて式(1)に示したオペレータ比率が求め
られ(図2のステップS4)、これが所定の閾値と比較
されることにより、コメント化されたプログラム片の判
別が行われる(図2のステップS5)。
【0034】そして、オペレータ比率が所定の閾値より
も大きいときは、そのコメントはコメント化されたプロ
グラム片であると判定され(図2のステップS6)、オ
ペレータ比率が所定の閾値よりも小さいときは、そのコ
メントはコメント化されたプログラム片でないと判定さ
れる(図2のステップS7)。ここで、オペレータ比率
の閾値を0.5 に設定するもとのとすると、各コメントの
オペレータ比率および判定結果は以下の表2に示すよう
になる。
【0035】
【表2】
【0036】コメント化されたプログラム片は、以上の
ような請求項1に基づく判定手段の仕様によってある程
度は検出されるが、請求項2または請求項3に基づく判
定手段の仕様にすることによって更に正確に検出するこ
とができる。すなわち、判定手段5として図3示す構成
のものを用い、次の式(2)に示すように各トークンx,
y にそれぞれ係数α(x),α(y) を与えてオペレータ比率
を計算するようにすれば、コメント化されたプログラム
片の判定をより正確に行うことができる。
【0037】
【数2】
【0038】すなわち、図3のような判定手段5を用い
た場合は、トークン分離・計数手段4から入力されるオ
ペレータ数およびオペランド数は、重み付け手段として
の乗算器51によって係数テーブル52内の係数α(x),
α(y) が乗じられることにより、重み付けがなされる。
上記係数α(x),α(y) は、調整部53によってソースプ
ログラム6に特有の条件(例えば、プログラミング言語
の種類など)を考慮した値に調整することが可能なよう
になされている。
【0039】オペレータ比率計算部54では、この重み
付けがなされた値を用いて、上記した式(2)に従って
オペレータ比率が求められ、このオペレータ比率に基づ
いてコメント化されたプログラム片であるか否かの判定
が判定部55で行われる。
【0040】例えば、以下に示すように、上記トークン
抽出手段3により抽出されたトークンが、IF文、 WRITE
文等のように実行文および非実行文の名前として現れる
トークンである場合、つまり、IF、 WRITE等の場合は、
式(2)における係数α(x),α(y) を他のトークンの係
数よりも比重を高く定義する。また、代入文におけるト
ークン“=”の係数も同様に比重を高く定義する。さら
に、同じトークンの出現回数に応じて係数の比重を高く
定義する。
【0041】
【0042】このように、係数の重み付けをした場合に
は、各コメントのオペレータ比率および判定結果は以下
の表3のようになる。
【0043】
【表3】
【0044】このように、本実施例によれば、例えば図
4のプログラム中から第8、9、10および15行目の
コメントをコメント化されたプログラム片として簡便に
検出することができる。そして、例えば該検出したコメ
ントの文字の色を変えるなどの処理を行うことにより、
第9行目のコメントをプログラム本体であると誤認識す
る問題を回避することができる。
【0045】また、上記の式(2)中に示したトークン
の種類に応じた係数α(x),α(y) として、対象となるソ
ースプログラム6に特有の条件を考慮した係数を使用す
ることにより、コメント化されたプログラム片であるか
否かの判定をさらに正確なものにすることができる。
【0046】以上のようにしてプログラムのコメント解
析装置1により得られるコメント化されたプログラム片
の判定結果は、必要に応じて外部に提供される。例え
ば、ソフトウェアの品質検査において重要視される、コ
メントに記述されたプログラムの情報がどの程度存在す
るかを示す指標として、コメント行数やコメント文字数
等のコメント量を調べる際に、コメント化されたプログ
ラム片ではないと判定されるコメント量を調べることに
より、より目的にかなった指標を定量化することができ
る。
【0047】
【発明の効果】本発明は上述したように、解析対象とな
るソースプログラムから抽出したコメントから更にトー
クンを抽出し、該抽出したトークンをオペレータとオペ
ランドとに分離してそれぞれの数を計数し、これらのオ
ペレータ数およびオペランド数に基づいて計算したオペ
レータ比率に基づいて上記抽出されたコメントがコメン
ト化されたプログラム片であるか否かを判定するように
したので、コメント化されたプログラム片を確実かつ簡
便に検出することが可能となり、ソースプログラム内の
コメントをプログラム本体の一部であると誤認識してし
まう問題を回避することができる。これにより、ソース
プログラムの保守性を向上させることができる。
【0048】また、ソフトウェア開発の最終段階で、本
発明によるプログラムのコメント解析装置を利用して、
コメント化されたプログラム片であると判定されるコメ
ントを削除することにより、プログラム本体の一部がソ
ースプログラム内に残存する可能性が極めて小さくな
り、そのソースプログラムが保守工程に移行した際に起
こり得る上記のような誤認識の問題を回避することが可
能となる。
【0049】本発明の他の特徴によれば、分離・計数手
段により計数されたオペレータ数およびオペランド数に
対して所定の係数を用いて重み付けを行うようにしたの
で、コメント化されたプログラム片をより正確に検出す
ることができる。
【0050】本発明のその他の特徴によれば、各トーク
ンに対応する係数を調整することが可能であるので、特
定のソースプログラムに応じた係数に変更することによ
り、個々のソースプログラムに最適な判定を行なうこと
ができる。
【図面の簡単な説明】
【図1】本実施例によるプログラムのコメント解析装置
の要部構成を示すブロック図である。
【図2】本実施例によるプログラムのコメント解析装置
の動作を示すフローチャートである。
【図3】判定手段の一構成例を示す図である。
【図4】本実施例において用いた FORTRAN言語のプログ
ラムの例を示す図である。
【符号の説明】
1 プログラムのコメント解析装置 2 コメント抽出手段 3 トークン抽出手段 4 トークン分離・計数手段 5 判定手段 6 ソースプログラム 51 乗算部 52 係数テーブル 53 係数調整部 54 オペレータ比率計算部 55 判定部

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 ソースプログラムからコメントを抽出
    し、該コメントを解析するプログラムのコメント解析装
    置において、 上記ソースプログラム内のコメントを抽出するコメント
    抽出手段と、 上記コメント抽出手段により抽出されたコメントからト
    ークンを抽出するトークン抽出手段と、 上記トークン抽出手段により抽出されたトークンをオペ
    レータとオペランドとに分離し、それぞれの数を計数す
    る分離・計数手段と、 上記分離・計数手段により計数されたオペレータ数およ
    びオペランド数に基づいて全体のトークン数に対するオ
    ペレータ数の割合を表すオペレータ比率を計算し、該オ
    ペレータ比率を予め与えられた閾値と比較することによ
    り、上記コメント抽出手段により抽出されたコメントが
    コメント化されたプログラム片であるか否かを判定する
    判定手段とを具備することを特徴とするプログラムのコ
    メント解析装置。
  2. 【請求項2】 上記判定手段は、上記オペレータおよび
    オペランドの種類に対応した所定の係数を有する係数テ
    ーブルと、 上記分離・計数手段により計数されたオペレータ数およ
    びオペランド数に対して上記係数テーブルの係数を用い
    て重み付けを行う重み付け手段とを具備することを特徴
    とする請求項1記載のプログラムのコメント解析装置。
  3. 【請求項3】 上記係数テーブル内の係数を解析対象と
    なる上記ソースプログラム特有の値に調整する係数調整
    手段を更に設けたことを特徴とする請求項2記載のプロ
    グラムのコメント解析装置。
JP28879094A 1994-10-28 1994-10-28 プログラムのコメント解析装置 Expired - Fee Related JP3461938B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28879094A JP3461938B2 (ja) 1994-10-28 1994-10-28 プログラムのコメント解析装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28879094A JP3461938B2 (ja) 1994-10-28 1994-10-28 プログラムのコメント解析装置

Publications (2)

Publication Number Publication Date
JPH08123674A JPH08123674A (ja) 1996-05-17
JP3461938B2 true JP3461938B2 (ja) 2003-10-27

Family

ID=17734762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28879094A Expired - Fee Related JP3461938B2 (ja) 1994-10-28 1994-10-28 プログラムのコメント解析装置

Country Status (1)

Country Link
JP (1) JP3461938B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5419804B2 (ja) * 2010-06-10 2014-02-19 株式会社エクサ Javaソースコードチェックプログラム

Also Published As

Publication number Publication date
JPH08123674A (ja) 1996-05-17

Similar Documents

Publication Publication Date Title
CN103714338B (zh) 图像处理装置和图像处理方法
JP4427500B2 (ja) 意味解析装置、意味解析方法および意味解析プログラム
CN108170468B (zh) 一种自动检测注释和代码一致性的方法及其系统
CN109711163B (zh) 基于api调用序列的安卓恶意软件检测方法
CN112035359B (zh) 程序测试方法、装置、电子设备及存储介质
CN111368303B (zh) 一种PowerShell恶意脚本的检测方法及装置
CN112364631B (zh) 基于层级多任务学习的中文语法错误检测方法及系统
CN107153610A (zh) 一种程序语句错误检测方法和装置
US9946710B2 (en) Language conversion apparatus, language conversion method, and language conversion program
CN106503244A (zh) 一种统一资源定位符相似度的处理方法
JP3461938B2 (ja) プログラムのコメント解析装置
CN116578989B (zh) 基于深度预训练神经网络的智能合约漏洞检测系统及方法
CN117171741A (zh) 代码缺陷分析方法及装置
CN113138913A (zh) Java代码注入检测方法、装置、设备及存储介质
CN115357490A (zh) 一种针对移动应用的界面缩放缺陷检测方法及电子装置
CN114610844A (zh) 一种敏感信息检测方法、装置、存储介质及终端
US20070078644A1 (en) Detecting segmentation errors in an annotated corpus
CN113704122B (zh) 一种基于标准接口的ui自动化测试系统及方法
WO2018000273A1 (zh) 一种不良语料内容检测装置和方法
KR102339498B1 (ko) 버그 검출 규칙 개선을 위한 코드 문맥 수집 방법
JPH06124211A (ja) プログラム解析装置
CN115248859A (zh) 一种文件分类方法、装置、设备及可读存储介质
CN114780391A (zh) 代码安全缺陷分析方法、装置、设备及存储介质
CN115794104A (zh) 一种基于特定语言的安全数据编排引擎
CN116185824A (zh) 一种文件检测方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030715

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080815

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080815

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090815

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090815

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100815

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130815

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees