図面 (/)

技術 Javaソースコードチェックプログラム

出願人 株式会社エクサ
発明者 渡部直和
出願日 2010年6月10日 (10年0ヶ月経過) 出願番号 2010-133272
公開日 2011年12月22日 (8年6ヶ月経過) 公開番号 2011-258076
状態 特許登録済
技術分野 ストアードプログラム ストアードプログラム
主要キーワード 戻り型 合算結果 検出規則 作成数 リリースバージョン チェック手順 品質チェック 目視点検
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2011年12月22日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (4)

課題

Javaソースコード品質に影響を与える事項について、プログラム作成者毎の傾向を把握することができる品質チェックプログラムを提供することを目的とする。

解決手段

本発明に係るJavaソースコードチェックプログラムは、Javaソースコード内に記述されているJavaクラス作成者名を記述したタグ部分から作成者名を抽出し、作成者毎の1クラス当たりの作成ステップ数を集計する。

概要

背景

ソフトウェア開発では常に高品質成果物が求められており、品質向上のために様々な点検活動が行われている。開発の期間は限られているため、品質点検を素早く高精度に実施する必要がある。

開発下流工程の成果物であるソースコードの品質点検に目を向けると、大きくテスト目視点検の2つの方法がある。このうちテストではソフトウェアに要求される仕様を確認し、目視点検では仕様確認に加えてテストで発見しにくい誤作動、非効率な記述保守性などの品質も確認する。このように多くの内容を確認する目視点検は品質確保の活動として重要であるが、時間がかかる割に見落としが発生しやすく、さらに属人的で精度がばらつくという問題を含んでいる。

近年、Javaなどのオープン系言語では、目視点検をサポートするツールとしてFindBugs(非特許文献1)やCheckstyle(非特許文献2)のようなツールが登場して、様々なプロジェクトで利用されている。

概要

Javaソースコードの品質に影響を与える事項について、プログラム作成者毎の傾向を把握することができる品質チェックプログラムを提供することを目的とする。本発明に係るJavaソースコードチェックプログラムは、Javaソースコード内に記述されているJavaクラス作成者名を記述したタグ部分から作成者名を抽出し、作成者毎の1クラス当たりの作成ステップ数を集計する。

目的

本発明は、上記のような課題を解決するためになされたものであり、Javaソースコードの品質に影響を与える事項について、プログラム作成者毎の傾向を把握することができる品質チェックプログラムを提供する

効果

実績

技術文献被引用数
0件
牽制数
1件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

Java(登録商標ソースコード品質チェックする処理をコンピュータに実行させるプログラムであって、前記コンピュータに、Javaソースコード記憶装置から読み込む読込ステップと、前記Javaソースコードに記述されているコメント部分のうち前記Javaソースコード内に記述されているJavaクラス作成者名を記述したタグ部分を検出し、そのタグ部分から前記作成者名を抽出する作成者抽出ステップと、前記Javaクラスのステップ数カウントするカウントステップと、前記読込ステップ、前記作成者抽出ステップ、および前記カウントステップを1以上の前記Javaソースコードについて実行するステップと、前記Javaクラス1つ当たりのステップ数を前記作成者毎に集計してその結果を出力するステップと、を実行させることを特徴とするJavaソースコードチェックプログラム

請求項2

前記コンピュータに、前記Javaソースコードに記述されているコメント部分のうち、Java命令コメントアウトした部分と、一般コメント部分とを区別し、Java命令をコメントアウトした部分のみを検出するコメントアウト検出ステップを実行させることを特徴とする請求項1記載のJavaソースコードチェックプログラム。

請求項3

前記コメントアウト検出ステップでは、前記コンピュータに、前記Javaソースコードを1行分読み込むステップと、前記行読込ステップで読み込んだ行コメント行であるか否かを判定するコメント行判定ステップと、前記コメント行判定ステップにおいてコメント行であると判定した行の末尾に、Java命令文終端子、Java言語における開始括弧、またはJava言語における終了括弧が存在するか否かを判定するJava命令判定ステップと、前記Java命令判定ステップにおいて、前記終端子、前記開始括弧、または前記終了括弧が行末に存在すると判定した場合、当該行は一般コメント行ではなく、Java命令をコメントアウトしたコメントアウト行であると判定するステップと、を実行させることを特徴とする請求項2記載のJavaソースコードチェックプログラム。

請求項4

前記コンピュータに、1人の前記作成者が作成した全ての前記Javaソースコードについて、全行数に対するコメント行の割合を算出するステップと、前記作成者毎に前記割合を集計してその結果を出力するステップと、を実行させることを特徴とする請求項1から3のいずれか1項記載のJavaソースコードチェックプログラム。

請求項5

前記コンピュータに、前記作成者毎の前記Javaクラスの作成数を集計してその結果を出力するステップを実行させることを特徴とする請求項1から4のいずれか1項記載のJavaソースコードチェックプログラム。

請求項6

前記コンピュータに、前記Javaクラス内のメソッド循環的複雑度を算出するステップと、1人の前記作成者が作成した全ての前記Javaクラスについて前記循環的複雑度を合算するステップと、前記作成者毎に前記合算の結果を集計してその結果を出力するステップと、を実行させることを特徴とする請求項1から5のいずれか1項記載のJavaソースコードチェックプログラム。

技術分野

0001

本発明は、Java(登録商標)言語で記述されたプログラムソースコード品質チェックするプログラムに関するものである。

背景技術

0002

ソフトウェア開発では常に高品質な成果物が求められており、品質向上のために様々な点検活動が行われている。開発の期間は限られているため、品質点検を素早く高精度に実施する必要がある。

0003

開発下流工程の成果物であるソースコードの品質点検に目を向けると、大きくテスト目視点検の2つの方法がある。このうちテストではソフトウェアに要求される仕様を確認し、目視点検では仕様確認に加えてテストで発見しにくい誤作動、非効率な記述、保守性などの品質も確認する。このように多くの内容を確認する目視点検は品質確保の活動として重要であるが、時間がかかる割に見落としが発生しやすく、さらに属人的で精度がばらつくという問題を含んでいる。

0004

近年、Javaなどのオープン系言語では、目視点検をサポートするツールとしてFindBugs(非特許文献1)やCheckstyle(非特許文献2)のようなツールが登場して、様々なプロジェクトで利用されている。

先行技術

0005

URL:http://findbugs.sourceforge.net/
URL:http://checkstyle.sourceforge.net/

発明が解決しようとする課題

0006

上記非特許文献1〜2に記載の技術では、あらかじめ定めておいた検出規則に基づき、Javaソースコードバグを自動的に検出したり、Javaソースコードの記述スタイル規則適合しているか否かを判定したりすることができる。

0007

しかし、ソフトウェア開発プロジェクトにおいては、バグの発生やソースコードの記述スタイルは各開発者固有の傾向が反映されやすいといえる。かかる属人的な傾向は、従来の品質チェックツールではあまり意識されてこなかった。

0008

本発明は、上記のような課題を解決するためになされたものであり、Javaソースコードの品質に影響を与える事項について、プログラム作成者毎の傾向を把握することができる品質チェックプログラムを提供することを目的とする。

課題を解決するための手段

0009

本発明に係るJavaソースコードチェックプログラムは、Javaソースコード内に記述されているJavaクラス作成者名を記述したタグ部分から作成者名を抽出し、作成者毎の1クラス当たりの作成ステップ数を集計する。

発明の効果

0010

本発明に係るJavaソースコードチェックプログラムによれば、各プログラム作成者の1クラスあたりのステップ数傾向を把握することができる。1クラスあたりのステップ数が多いということは、サイズが大きいクラスを作成しているということであるため、ソースコードの保守性の観点で好ましくない。本発明に係るJavaソースコードチェックプログラムによれば、かかる傾向のある作成者を特定し、改善を促すなどの対策を適切に取ることができる。

図面の簡単な説明

0011

実施形態1に係るJavaソースコードチェックプログラム110を実行するコンピュータ100および関連するデータの入出力を示す図である。
Javaソースコード200のサンプルを示す。
Javaソースコード200のサンプルを示す。

実施例

0012

<実施の形態1>
図1は、本発明の実施形態1に係るJavaソースコードチェックプログラム110を実行するコンピュータ100および関連するデータの入出力を示す図である。コンピュータ100は、Javaプログラムチェック作業を行うために用いるコンピュータである。

0013

コンピュータ100は、チェック対象であるJavaソースコード200と、チェック規則を定義するチェック規則データ300を入力として受け取り、Javaソースコード200のチェック結果を出力する。これらのデータは、必要に応じてコンピュータ100が備える記憶装置に格納される。

0014

コンピュータ100は、Javaソースコードチェックプログラム110を格納するHDD(Hard Disk Drive)などの記憶装置と、Javaソースコードチェックプログラム110を実行するCPU(Central Processing Unit)などの演算装置を備える。また、各データを入出力するインタフェースメモリなどを適宜備える。以下では説明の便宜上、Javaソースコードチェックプログラム110を動作主体として説明する場合があるが、実際にJavaソースコードチェックプログラム110を実行するのはCPUなどの演算装置であることを付言しておく。

0015

チェック規則データ300は、Javaソースコードチェックプログラム110がJavaソースコード200をチェックする際の基準となるチェック規則を1以上定義する。チェック規則データ300が規定する具体的な手順については、以下の図2を用いて改めて説明する。

0016

図2は、Javaソースコード200のサンプルを示す。説明の便宜上、行番号をソースコードの左側に併記した。図2中、「/*」と「*/」で囲まれている部分は、コメント部分である。具体的には、3〜7行目、11〜13行目、17〜20行目がコメント部分である。

0017

コメント内に記載されている項目のうち、「@」で始まる部分は、Javaソースコードのコメント特有の情報を記述することを指定するタグ部分である。各タグの内容には、以下の項目を記述すべきであることが、Java標準のコメント規則であるJavadoc仕様によって規定されている。
図2:@authorタグ)当該Javaクラスの作成者名を記述するタグである。
図2:@versionタグ)当該Javaクラスのリリースバージョンを表す数値を記述するタグである。
図2:@paramタグ)Javaクラス内のメソッド引数を記述するタグである。

0018

Javadoc形式のコメントは、本来はJavaクラスの仕様書を自動的に生成するために記述するものである。例えば、各Javaクラスが有するメソッド、その引数戻り型、などの情報を、Javaソースコード本体およびJavadoc内の各タグから抽出することにより、Javaクラス仕様書を自動生成することができる。

0019

かかるJavadoc仕様の目的に起因して、一般にJavadocコメントはJavaクラスの属性をコメント内に記述するために用いられており、したがって「@author」タグは補助的な情報として用いられるに留まっていた。

0020

本発明は、Javaソースコード内にJavaクラスの作成者名が埋め込まれていることに着目し、Javaソースコードの品質傾向をプログラム作成者毎に把握するために用いることを図るものである。

0021

プログラム作成者毎の品質傾向を測定する目安として、1クラス当たりのステップ数が挙げられる。一般にJavaクラスは、その目的に特化したJava命令のみを記述するのが通常であるため、各Javaクラスのステップ数は、当該Javaクラスの目的に相当するステップ数内に収まるはずである。しかし、1つのJavaクラスが複数の目的に対応するようにJavaクラスを作成すると、そのJavaクラスのステップ数は相応に多くなると予想される。

0022

1つのJavaクラスが複数の目的に対応していると、どの機能がどのJavaクラスに属しているか分からなくなり、Javaクラスの保守性が低下する。このような保守性の低いJavaクラスを作成する傾向は、プログラム作成者毎に固有のものであることが多い。そこで本実施形態1では、1クラス当たりのステップ数をプログラム作成者毎に集計し、極端にステップ数の多いJavaクラスを作成する傾向のあるプログラム作成者を特定して注意喚起するなどの対策を取ることを図る。

0023

Javaソースコードチェックプログラム110は、上記集計処理を以下の手順で実行する。

0024

(Javaソースコードチェック手順:ステップ1)
Javaソースコードチェックプログラム110は、Javaソースコード200(ソースコードファイル)を、HDDなどの記憶装置から読み込む。複数のJavaソースコード200をまとめて読み込んでもよいし、1つずつ読み込んでもよい。

0025

(Javaソースコードチェック手順:ステップ2)
Javaソースコードチェックプログラム110は、ステップ1で読み込んだJavaソースコード200のコメント部分を特定する。具体的には、「/*」と「*/」で囲まれた部分、および「//」で開始する行がコメント部分であると特定する。

0026

(Javaソースコードチェック手順:ステップ2:補足
厳密には、Javadoc仕様のタグは、「/**」と「*/」で囲まれた部分に記述される。したがって本ステップでは、単なるコメント部分を検出するのみならず、Javadocの対象となるコメント部分を検出する必要がある。ただし、Javaソースコードチェックプログラム110固有のルールとして、任意のコメント内から「@author」タグを検出することとした場合や、「@author」以外の記述方式でプログラム作成者名を記述することとした場合などは、これに限られるものではない。いずれの場合でも、プログラム作成者名をコメント内に記述しておき、Javaソースコードチェックプログラム110がこれを認識できればよい。

0027

(Javaソースコードチェック手順:ステップ3)
Javaソースコードチェックプログラム110は、ステップ2で特定したコメント部分から、「@author」タグに記載されているプログラム作成者名を抽出する。図2に示した例では、プログラム作成者名は「AUTHOR_001」である。

0028

(Javaソースコードチェック手順:ステップ4)
Javaソースコードチェックプログラム110は、Javaソースコード200内に記述されているJavaクラスのステップ数をカウントする。Java言語は1つのJavaソースコード200ファイル内に1つのJavaクラスを記述するという規則があるので、Javaソースコード200の行数をカウントすればよい。図2に示した例では、HelloWorldクラスのステップ数は25である。

0029

(Javaソースコードチェック手順:ステップ5)
Javaソースコードチェックプログラム110は、ステップ1〜4を、品質検査対象とする全てのJavaソースコード200について実行する。

0030

(Javaソースコードチェック手順:ステップ6)
Javaソースコードチェックプログラム110は、Javaクラス1つあたりのステップ数を、プログラム作成者毎に集計する。具体的には、ステップ3で抽出したプログラム作成者毎にステップ数を合算し、さらにそのステップ数を、当該プログラム作成者が作成したJavaクラス数で除算すればよい。

0031

(Javaソースコードチェック手順:ステップ7)
Javaソースコードチェックプログラム110は、ステップ6の結果を、ファイル出力画面出力などの形態で出力する。

0032

以上、図2のソースコードをチェックする過程を例に取り、Javaソースコードチェックプログラム110の動作を説明した。

0033

<実施の形態1:まとめ>
以上のように、本実施形態1に係るJavaソースコードチェックプログラム110は、Javaソースコード200の作成者毎に1クラス当たりのステップ数を集計してその結果を出力する。この結果を利用して、プログラム作成者毎のクラスサイズの傾向を把握することができる。これにより、極端にサイズの大きいJavaクラスを作成する傾向のあるプログラム作成者には、クラスを分割するなどの改善を促すことができるので、結果としてJavaソースコード200の品質改善につながる。

0034

また、本実施形態1に係るJavaソースコードチェックプログラム110は、Javaソースコード200の「@author」タグからプログラム作成者名を抽出する。これにより、プログラム作成者の名称などの情報を、Javaソースコード200とは別に管理する必要がなくなる。この機能がないと、Javaソースコード200とは別にプログラム作成者の属性情報を管理する必要が生じ、ソースコード品質チェックとは直接の関係がない作業負担が生じる。この点、本実施形態1に係るJavaソースコードチェックプログラム110によれば、Javaソースコード200そのものからプログラム作成者名を取得するので、かかる作業負担は生じず、プログラム作成者毎の集計作業を自動化することができる点で有利である。以下の実施形態でも同様である。

0035

<実施の形態2>
本発明の実施形態2では、Javaソースコードチェックプログラム110がJavaソースコード200内のコメントアウト部分を検出する手法を説明する。Javaソースコードチェックプログラム110および周辺環境の構成は、実施形態1と同様である。実施形態1で説明した手法と、本実施形態2で説明する手法は、組み合わせて用いてもよいし、個別に用いてもよい。

0036

Javaソースコード200内のコメントには、メモ書き目的、クラスやメソッドの役割を説明する目的などでプログラム作成者が付与した一般コメントと、古いJava命令を無効化するためにコメントアウトしたものがある。このうち古いJava命令をコメントアウトしたものについては、Javaソースコード200内に残したままにしておくと可読性が低下するので、保守性など品質維持の観点から好ましくない。

0037

そこで本実施形態2では、Javaソースコード200内のコメントアウト部分を、他の一般コメントと区別した上で、コメントアウト部分のみを抽出する手法を説明する。

0038

図3は、Javaソースコード200のサンプルを示す。図2で示したサンプルと概ね同様であるが、29〜30行目、および17〜21行目にコメントが追加されている。これらコメントの内訳は、以下の通りである。

0039

図3:30行目のコメント)
30行目は、32行目に記載しているJava命令の古いバージョンをコメントアウトしたものである。コメントアウトとは、Javaソースコードのうち不要な部分を無効化するため、当該部分をコメントとして取り扱うように所定の記号を付与したものである。ここでは、行初に「//」を追加することにより、当該行をコメントとして取り扱うことを示している。

0040

図3:29行目のコメント)
29行目は、30行目をコメントアウトする際に、プログラム作成者がメモ書きとして付与したものであると思われる。このようなコメントは、Java命令をコメントアウトしたものとは異なり、一般コメントに分類することができる。

0041

図3:17〜21行目のコメント)
17〜21行目は、「/*」と「*/」で囲むことによりコメント部分となっている。このうち18行目と19行目は、30行目と同様に古いソースコードをコメントアウトしたものである。20行目は、プログラム作成者がメモ書きとして付与した一般コメントである。

0042

以上例示したように、コメント部分のなかには、一般コメントとコメントアウトが混在している。Javaソースコード200の保守性の観点からは、古いソースコードが残っていることは好ましくないので、本実施形態2ではコメントアウト部分のみを検出する。以下、その手順を説明する。

0043

(コメントアウト検出手順:ステップ1〜2)
これらのステップは、実施形態1のステップ1〜2と同様である。

0044

(コメントアウト検出手順:ステップ3)
Javaソースコードチェックプログラム110は、ステップ2でコメント行であると判定した行の末尾に、Java命令文終端子(セミコロン)、Java言語における開始括弧「{」もしくは「(」、またはJava言語における終了括弧「}」もしくは「)」が存在するか否かを判定する。これらが行末に存在する行は、コメントアウト行であるとみなす。これら括弧のいずれか一方のみを検出するようにしてもよい。

0045

(コメントアウト検出手順:ステップ3:補足)
本ステップにおいて、セミコロン、開始括弧、または終了括弧が行末に存在するか否かを判定するのは、行末にこれらが存在する場合、当該行はJava命令を記述していると想定されるからである。例えば図3の30行目は、コメントアウトされる前はJava命令文を記述していたので、末尾にJava命令の終端子であるセミコロンが存在する。同様に18〜19行目には、Javaソースコードにおいて頻繁に用いられる開始括弧と終端括弧が存在している。これら括弧は行末に記載されるので、行末にこれら括弧が存在している行は、Java命令を記述していると考えられる。

0046

(コメントアウト検出手順:ステップ4)
Javaソースコードチェックプログラム110は、ステップ3の結果を、ファイル出力、画面出力などの形態で出力する。

0047

以上、図3のソースコードを例に取り、Javaソースコードチェックプログラム110がコメントアウト部分を検出する動作を説明した。

0048

<実施の形態2:まとめ>
以上のように、本実施形態2に係るJavaソースコードチェックプログラム110は、Java命令をコメントアウトした部分と、一般コメント部分とを区別し、Java命令をコメントアウトした部分のみを検出する。これにより、古いJava命令を残したままの状態になっているJavaソースコード200を検出することができるので、Javaソースコード200の保守性を向上させることができる。

0049

また、一般コメント部分とコメントアウト部分の区別は一概にはつけ難いが、本実施形態2に係るJavaソースコードチェックプログラム110は、行末のJava命令特有の記号に着目し、コメントアウトを適切に検出することに成功した。これにより、コメントアウト部分を適切に検出することができる。

0050

<実施の形態3>
Javaソースコードチェックプログラム110は、以上説明した実施形態1〜2と併用して、またはこれらとは別に、Javaソースコード200の全行数に対するコメント行の割合をプログラム作成者毎に集計することもできる。

0051

一般に、Javaソースコード200の全行数に対するコメント行の割合は、適正な範囲が存在する。コメントが少なすぎてもJavaソースコードの内容が分かりにくくなるので好ましくないし、コメントが多すぎても却って効率がよくない。

0052

そこで本実施形態3に係るJavaソースコードチェックプログラム110は、Javaソースコード200の全行数に対するコメント行の割合をプログラム作成者毎に集計して、コメント行の割合が適正範囲にない傾向のあるプログラム作成者を特定する。

0053

具体的には、「@author」タグに記載されているプログラム作成者名毎に、作成したJavaソースコード200の全ステップ数とコメント行数をカウントし、後者を前者で除算して割合を求めればよい。算出結果は、ファイル出力、画面出力などの形態で出力する。

0054

<実施の形態4>
Javaソースコードチェックプログラム110は、以上説明した実施形態1〜3と併用して、またはこれらとは別に、プログラム作成者毎のクラス作成数を算出することもできる。

0055

特定のプログラム作成者のみクラス作成数が極端に多い場合、そのプログラム作成者は既存のJavaソースコード200をコピーするなどしてJavaクラスを作成しているのではないかと想定される。これはプログラムの品質低下につながるので、かかる行為を検出するため、クラス作成数をプログラム作成者毎に集計し、ファイル出力、画面出力などの形態で出力する。

0056

一方、特定のプログラム作成者のみクラス作成数が極端に少ない場合も、当該プログラム作成者が何らかの問題を抱えているか、またはスキル面で不足しているなどの状況が想定される。このような開発進捗管理の観点からも、本実施形態4に係る手法は有用であるといえる。

0057

<実施の形態5>
Javaソースコードチェックプログラム110は、以上説明した実施形態1〜4と併用して、またはこれらとは別に、Javaクラス内のメソッドの循環的複雑度を、プログラム作成者毎に集計することもできる。

0058

循環的複雑度(Cyclomatic Complexity)とは、メソッドの複雑さを表す指標として一般に用いられているものである。これは主に、メソッド内の分岐が多いと当該メソッドは複雑度が高いものとして取り扱う手法である。例えば、if文内の分岐、メソッド内で他メソッドをコールする、などの処理が分岐に相当する。

0059

循環的複雑度は、10以下であることが好ましいとされる。循環的複雑度が50を超えるとテストが不可能、75を超えるといかなる変更も誤修正生む原因となる、とされている。どの程度の循環的複雑度を許容するかは、Javaソースコードチェックプログラム110を利用する者が適宜定めればよい。

0060

メソッドの複雑さは、プログラム作成者毎にある程度の傾向が見られることが経験的に分かっている。そこで本実施形態5に係るJavaソースコードチェックプログラム110は、プログラム作成者が作成したメソッドの循環的複雑度を、チェック規則の基準値を超えるメソッドについて合算し、さらにプログラム作成者毎の合算結果を、ファイル出力、画面出力などの形態で出力する。これにより、複雑なメソッドを作成する傾向のあるプログラム開発者を特定することができる。

0061

100:コンピュータ、110:Javaソースコードチェックプログラム、200:Javaソースコード、300:チェック規則データ。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ