(57)【要約】【課題】  プログラムを利用して稼動するファイル抽出システムにおいて、ソースコードの無駄な部分を抽出、削除し、その軽量化を図る。【解決手段】  ファイルごとに、ファイル内で定義されている関数名・変数の型・変数名を抽出したテーブル１と使用されている関数名・変数の型・変数名を抽出したテーブル２を作成し、テーブル１・２間で一致するものがあればこれを別テーブルに移すまたは削除する第１の作業を行い、さらにシステム内のファイル間で、あるファイルのテーブル１と別のファイルのテーブル２を比較し一致するものが検出されれば別テーブルに移すまたは削除する第２の作業を、繰り返し比較対象を変えて行い、全ての必要な比較が終了時にテーブル１内に残された定義を不要な定義として抽出するファイル抽出システム。【選択図】        図１
2005346578.tif 000002
【特許請求の範囲】
【請求項１】
ファイルごとに、ファイル内で定義されている関数名、変数の型、及び変数名を抽出した第１のテーブルと使用されている関数名、変数の型、及び変数名を抽出した第２のテーブルを作成し、前記第１のテーブルと第２のテーブル間で一致するものがあれば、これを別テーブルに移すか、または削除する第１の作業を行い、さらにシステム内のファイル間で、所定のファイルの第１のテーブルと別のファイルの第２のテーブルを比較し一致するものが検出された場合、別テーブルに移すかまたは削除する第２の作業を繰り返し比較対象を変えて行い、全ての必要な比較が終了時に前記第１のテーブル内に残された定義を不要な定義として抽出することを特徴とするファイル抽出システム。
【請求項２】
請求項１のファイル抽出システムにおいて、抽出した不要な定義から、ソースコード内の前記抽出した不要な定義の宣言部、定義の内容が記述されたコードを抽出することを特徴とするファイル抽出システム。
【請求項３】
請求項１のファイル抽出システムにおいて、各ファイルごとに読み込まれている他ファイルの既定部分を抽出した第３のテーブルを用意し、このファイルの既定をたどりファイル間の比較を行うことを特徴とするファイル抽出システム。
【請求項４】
請求項１ないし３のファイル抽出システムにおいて稼動することを特徴とするプログラム。
【請求項５】
請求項１のファイル抽出システムにおいて、ファイルとディレクとの構成を利用し、下位層から上位層へファイル及びディレクトリを単位として、階層ごとに前記第１、第２の作業を行い、１階層終了時に前記第１のテーブル内に残された定義を抽出し、そのディレクトリの定義された関数・変数の型・変数名、また前記第２のテーブル内に残された使用されている関数名・変数の型・変数名を抽出し、そのディレクトリに所属する第１のテーブル、第１のテーブルとする第３の作業をルートディレクトリまで繰り返すことにより使用されていない不要な定義を抽出することを特徴とするファイル抽出システム。
【請求項６】
請求項５のファイル抽出システムにおいて、抽出した不要な定義から、ソースコード内の前記定義の宣言部、定義の内容が記述されたコードを抽出することを特徴とするファイル抽出システム。
【請求項７】
請求項５のファイル抽出システムにおいて、各ファイルごとに読み込まれている他ファイルの既定部分を抽出した前記第３のテーブルを用意し、このファイルの既定をたどりファイル間の比較を行うことを特徴とするファイル抽出システム。
【請求項８】
請求項５のファイル抽出システムにおいて、ディレクトリの異なるファイル間、ディレクトリ間で読み込むファイルが既定されたファイルから既定部分を抽出した第４のテーブルを用意し、このファイルの既定をたどりディレクトリ間の比較を行うことを特徴とするファイル抽出システム。
【請求項９】
請求項５ないし８のファイル抽出システムにおいて稼動することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムを利用して稼動するファイル抽出システムに関する。
【背景技術】
【０００２】
様々な企業体において様々な目的をもった膨大な数、規模のコンピュータシステムが多数構築され、稼動しており、それらのシステムは絶えず環境等へ対応して変更されることが求められている。従来から、書式の異同にかかわらず、内容の同じ処理文を簡単に検索することができ、デバッグ等のソースコードの改変作業における労力の軽減と作業時間の短縮を図ることのできるソースコード検索システムが提供されている（例えば、特許文献１参照）。
【特許文献１】特開平０６−２８２４２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
通常、コンピュータシステムの構築、増築、更新等の作業は複数の人間が分担して行うが、システムの規模に比例して各部分の担当者がシステム全体の把握をすることは容易でなくなる。何回も更新、増築を繰り返したコンピュータシステムにおいてには「担当者の把握する範囲外で使用している可能性」を配慮して本来ならば削除すべきプログラム、ソースコードをシステム内に残さざるをえない、という状況が生じ、その不要部分は放置されたままになっているというのが現状である。
本発明は、上述した実情を考慮してなされたもので、プログラムを利用して稼動するファイル抽出システムにおいて、ソースコードの無駄な部分を抽出、削除し、その軽量化を図ることを目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するために、請求項１記載の発明は、ファイルごとに、ファイル内で定義されている関数名、変数の型、及び変数名を抽出した第１のテーブルと使用されている関数名、変数の型、及び変数名を抽出した第２のテーブルを作成し、前記第１のテーブルと第２のテーブル間で一致するものがあれば、これを別テーブルに移すか、または削除する第１の作業を行い、さらにシステム内のファイル間で、所定のファイルの第１のテーブルと別のファイルの第２のテーブルを比較し一致するものが検出された場合、別テーブルに移すかまたは削除する第２の作業を繰り返し比較対象を変えて行い、全ての必要な比較が終了時に前記第１のテーブル内に残された定義を不要な定義として抽出することを特徴とする。
請求項２記載の発明は、請求項１のファイル抽出システムにおいて、抽出した不要な定義から、ソースコード内の前記抽出した不要な定義の宣言部、定義の内容が記述されたコードを抽出することを特徴とする。
請求項３記載の発明は、請求項１のファイル抽出システムにおいて、各ファイルごとに読み込まれている他ファイルの既定部分を抽出した第３のテーブルを用意し、このファイルの既定をたどりファイル間の比較を行うことを特徴とする。
請求項４記載の発明は、請求項１ないし３のファイル抽出システムにおいて稼動するプログラムを最も主要な特徴とする。
請求項５記載の発明は、請求項１のファイル抽出システムにおいて、ファイルとディレクとの構成を利用し、下位層から上位層へファイル及びディレクトリを単位として、階層ごとに前記第１、第２の作業を行い、１階層終了時に前記第１のテーブル内に残された定義を抽出し、そのディレクトリの定義された関数・変数の型・変数名、また前記第２のテーブル内に残された使用されている関数名・変数の型・変数名を抽出し、そのディレクトリに所属する第１のテーブル、第１のテーブルとする第３の作業をルートディレクトリまで繰り返すことにより使用されていない不要な定義を抽出することを特徴とする。
請求項６記載の発明は、請求項５のファイル抽出システムにおいて、抽出した不要な定義から、ソースコード内の前記定義の宣言部、定義の内容が記述されたコードを抽出するファイル抽出システムを主要な特徴とする。
請求項７記載の発明は、請求項５のファイル抽出システムにおいて、各ファイルごとに読み込まれている他ファイルの既定部分を抽出した前記第３のテーブルを用意し、このファイルの既定をたどりファイル間の比較を行うことを特徴とする。
請求項８記載の発明は、請求項５のファイル抽出システムにおいて、ディレクトリの異なるファイル間、ディレクトリ間で読み込むファイルが既定されたファイルから既定部分を抽出した第４のテーブルを用意し、このファイルの既定をたどりディレクトリ間の比較を行うことを特徴とする。
請求項９記載の発明は、請求項５ないし８のファイル抽出システムにおいて稼動するプログラムを最も主要な特徴とする。
【発明の効果】
【０００５】
本発明のファイル抽出システムは、ファイルごとに、ファイル内で定義されている関数名・変数の型・変数名を抽出したテーブル１と使用されている関数名・変数の型・変数名を抽出したテーブル２を作成し、テーブル１・２間で一致するものがあればこれを別テーブルに移すまたは削除する第１の作業を行い、さらにシステム内のファイル間で、あるファイルのテーブル１と別のファイルのテーブル２を比較し一致するものが検出されれば別テーブルに移すまたは削除する第２の作業を、繰り返し比較対象を変えて行い、全ての必要な比較が終了時にテーブル１内に残された定義を不要な定義として抽出することで、所期の目的を達成することができる。
【発明を実施するための最良の形態】
【０００６】
以下、図面を参照して、本発明の各実施例を詳細に説明する。
（実施例１）
図１は本発明のファイル抽出システムにおける第１の処理例を示すフローチャートである。１つのファイル内での比較、具体的には、ファイル内で定義されている関数名・変数の型・変数名を抽出したテーブル１（第１のテーブル）と使用されている関数名・変数の型・変数名を抽出したテーブル２（第２のテーブル）を作成し（Ｓ１、Ｓ２）、テーブル１・２間で一致するものがあれば（Ｓ３、Ｓ４でＹ）、これを別テーブルに移すまたは削除する（Ｓ５）、一致するものがなければ（Ｓ４でＮ）、そのままテーブルに残す（Ｓ６）という作業を行う。
図２は本発明のファイル抽出システムにおける第２の処理例を示すフローチャートである。上記の作業を全ファイル内で行った後（Ｓ１１）、ファイル間での比較、具体的には上記作業済みのあるファイルのテーブル１と別のファイルのテーブル２を比較し一致するものが検出されれば別テーブルに移すか、または削除する（Ｓ１２ないしＳ１５）。このように２段階での比較を用い、これを繰り返し行うことで最終的に不要な定義のみが書かれたテーブルを抽出する。
実施例１では、複数ファイルにより構成されたコンピュータシステム内において不要な定義のみが書かれたテーブルを抽出しているのでこれを基にソースコードを削除することで、その軽量化を図ることができる。
（実施例２）
実施例２では、実施例１のファイル抽出システムによって抽出された不要な定義部分から導出されるソースコード内の前記定義の宣言部、定義の内容等の記述されたコードを抽出する。抽出したコードを基にソースコードを削除することで、その軽量化を図ることができる。
【０００７】
（実施例３）
実施例３では、実施例１のファイル抽出システムにおいて各ファイルごとに読み込まれている他ファイルの既定部分を抽出したテーブル３（第３のテーブル）を用意し、このファイルの既定から捜索するファイルの順序づけをする。これにより、実施例１のファイル間の比較を効率的に行うことができる。
（実施例４）
図３は本発明のファイル抽出システムにおける第３の処理例を示すフローチャートである。実施例４では、システムのファイルとディレクとの構成を利用し、下位層から上位層へファイル及びディレクトリを単位として、まず中にファイルのみ（ディレクトリを含まない）のシステム内全ての全ディレクトリ内で実施例１と同様の作業を行い、抽出した実施例１で述べている不要な定義を、不要な定義ではなく、そのディレクトリにおける定義と位置付ける。作業中の階層から見て１つ上位の階層内のファイル、ディレクトリについて前記の処理が終わった後、作業を１つ上の階層に移し、同様の作業を繰り返す（Ｓ２１ないしＳ２７）。これをルートディレクトリまで繰り返すことによりシステム内の使用されていない不要な定義を抽出する。
実施例４では、システムのファイルとディレクとの構成を利用し、システム内の使用されていない不要な定義を抽出しているのでこれを基にソースコードを削除することで、その軽量化を図ることができる。
【０００８】
（実施例５）
実施例５では、実施例４のファイル抽出システムによって抽出された不要な定義部分から、ソースコード内の前記定義の宣言部、定義の内容等の記述されたコードを抽出する。抽出したコードを基にソースコードを削除することで、その軽量化を図ることができる。
（実施例６）
実施例６では、実施例４、５のファイル抽出システムにおいて各ファイルごとに読み込まれている他ファイルの既定部分を抽出したテーブル３を用意し、このファイルの既定から捜索するファイルの順序づけをする。このことで、実施例１のファイル間の比較を効率的に行うことができる。
（実施例７）
実施例７では、実施例４〜６のファイル抽出システムにおいてディレクトリの異なるファイル間、ディレクトリ間で読み込むファイルが既定されたファイルから、既定部分を抽出したテーブル４（第４のテーブル）を用意し、このファイルの既定から捜索するファイルの順序づけをする。このことで実施例４のディレクトリ間の比較を効率的に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明のファイル抽出システムにおける第１の処理例を示すフローチャート。
【図２】本発明のファイル抽出システムにおける第２の処理例を示すフローチャート。
【図３】本発明のファイル抽出システムにおける第３の処理例を示すフローチャート。
【図１】
2005346578.tif 000003
【図２】
2005346578.tif 000004
【図３】
2005346578.tif 000005