プログラムのソースコードが構文解析されて抽象構文木に分析され、該抽象構文木を形成する命令文が検索され、検索された命令文から命令文の依存関係に従って命令文の繋がりが形成され、ソースコードについての命令文と命令文の繋がりとによる依存関係グラフが形成されて、依存関係にある影響波及範囲が設定されることを特徴とするプログラムの影響波及範囲設定装置。プログラムのソースコードが構文解析されて抽象構文木に分析され、該抽象構文木を形成する命令文が命令文用語から検索され、検索された命令文から命令文の依存関係に従って命令文の繋がりが形成され、複数のソースコードについて、それぞれ検索された命令文の繋がりが形成され、複数のソースコードの有する検索された命令文が、同一であるときに当該命令文はそれぞれのソースコードに共有された命令文とされ、該共有された命令文と命令文の繋がりとの組み合わせを含んで複数のソースコードについての命令文と命令文の繋がりとによる依存関係グラフが形成されて共有して、依存関係にある影響波及範囲が設定されることを特徴とするプログラムの影響波及範囲設定装置。請求項1または2に記載されたプログラムの影響波及範囲設定装置による影響範囲の特定方法において、前記依存関係グラフ上で、基点となる命令文が指定されると、基点となる命令文からの依存関係を辿ることで影響波及範囲が特定されることを特徴とするプログラムの影響範囲波及範囲の特定方法。請求項1または2に記載されたプログラムの影響波及範囲設定装置による影響波及のあるプログラムの抽出方法において、前記依存関係グラフ上で、基点となる命令文が特定されたときに、基点となる命令文からの依存関係を辿ることで命令文及び命令文の繋がりを備えたプログラムを影響波及のあるプログラムとして抽出することを特徴とする影響波及のあるプログラム抽出方法。従来のメソッドの呼出関係による影響波及の洗い出しでは、影響のないクラス/メソッド大量に抽出される、呼出関係を辿る階層を指定する必要があるなどの問題がある。また、影響度分析図を記憶する方法では、この影響度分析図の構成に多大な時間を要するなどの問題がある。本発明は、かかる点に鑑みて影響波及のないクラス及びメソッドは抽出することがなく、影響波及の範囲を機械的に設定することができ、大規模システムの改修の時に、影響波及調査の精度向上を図り、作業効率向上を図ることができるようにすることを目的とする。本発明は、プログラムのソースコードが構文解析されて抽象構文木に分析され、該抽象構文木を形成する命令文が検索され、検索された命令文から命令文の依存関係に従って命令文の繋がりが形成され、ソースコードについての命令文と命令文の繋がりとによる依存関係グラフが形成されて、依存関係にある影響波及範囲が設定されることを特徴とするプログラムの影響波及範囲設定装置を提供する。本発明は、プログラムのソースコードが構文解析されて抽象構文木に分析され、該抽象構文木を形成する命令文が検索され、検索された命令文から命令文の依存関係に従って命令文の繋がりが形成され、複数のソースコードについて、それぞれ検索された命令文の繋がりが形成され、複数のソースコードの有する検索された命令文が、同一であるときに当該命令文はそれぞれのソースコードに共有された命令文とされ、該共有された命令文と命令文の繋がりとの組み合わせを含んで複数のソースコードについての命令文と命令文の繋がりとによる依存関係グラフが形成されて共有して、依存関係にある影響波及範囲が設定されることを特徴とするプログラムの影響波及範囲設定装置を提供する。本発明は、また、前記プログラムの影響波及範囲設定装置による影響範囲の特定方法において、前記依存関係グラフ上で、基点となる命令文が指定されると、基点となる命令文からの依存関係を辿ることで影響波及範囲が特定されることを特徴とするプログラムの影響範囲波及範囲の特定方法を提供する。本発明は、また、前記プログラムの影響波及範囲設定装置による影響波及のあるプログラムの抽出方法において、前記依存関係グラフ上で、基点となる命令文が特定されたときに、基点となる命令文からの依存関係を辿ることで命令文及び命令文の繋がりを備えたプログラムを影響波及のあるプログラムとして抽出することを特徴とする影響波及のあるプログラム抽出方法を提供する。なお、本発明では、ソースコードをインプットすることとしているが、ここではバイトコードを含む概念で使用する。バイトコードとは、特定のOSやハードウェアに依存しないように定義された命令によって記述された実行形式のプログラムを意味し、人間の書いた設計図であるソースコードと実際にコンピュータで実行可能なネイティブコードの中間に当たる形式のものであり、ここではソースコードとして取り扱って差しつかえない。本発明によれば、上述したようにソースコードの構文解析によって命令文同士の依存関係を付与し、影響波及範囲の設定及び特定を行うようにしているので、影響のないクラス/メソッドを抽出することがなく、影響波及の範囲を命令文から機械的に設定でき、大規模システムの改修の時に、影響調査の精度向上を図り、作業効率の向上を図ることができる。以下、本発明の実施例を図面に基づいて説明する。図1は、本発明の実施例のプログラムの影響範囲設定装置の構成をブロックで示す図である。図1において、プログラムの影響範囲設定装置100は、入力手段1、演算処理手段2、出力手段3及びデータベース4から構成される。入力手段1には、外部から大規模システムの時に改修対象となるプログラム5及び基点となる命令文6が入力される。演算処理手段2は次のような処理手段機能を備える。ソースコードの構文解析すなわち文法解析抽出構文木分析命令文検索命令文繋がりの形成共有命令文の抽出命令文による依存関係グラフの形成影響範囲の設定影響範囲の特定出力手段3は、依存関係の辿り設定された影響範囲特定された影響範囲を出力し、画面表示装置7の画面8に表示する。データベース4は、演算処理手段2で演算処理されることで生成された命令文による依存関係グラフすなわちデータを格納する。演算処理手段2について説明する。ソースコードの構文解析手段は、プログラムのソースコードを構文解析する。抽象構文木分析手段は、構文解析に基づいて階層構造としての抽象構文木に分析する。命令文検索手段は、抽象構文木を形成する命令文を検索する。抽象構文木に表現されている全てのノード行、命令文について依存関係を分析し、命令文を検索する。命令文繋がり作成手段は、検索された命令文から命令文の依存関係に従って命令文の繋がりを形成する。命令文の繋がりは複数のソースコードについて形成される。共有命令文の抽出手段は、同一であるときに当該命令文はそれぞれのソースコードに共有された命令文として抽出する。命令文による依存関係グラフの形成手段は、他のプログラムとの関係で、共有された命令文と依存関係で繋がった命令文との組み合わせを含んで複数のソースコードについて命令文による依存関係グラフを形成する。影響波及範囲設定手段は、依存関係グラフを基にして、依存関係にある影響波及範囲を設定する。影響波及範囲特定手段は、設定された影響波及範囲を基に、影響波及範囲を特定する。図2は、本実施例を用いるエンジンの構成を示す。エンジンは、言語依存部分と言語非依存部分とから構成される。1構文解析に際しては、各種のプラグイン、例えばA分析プラグイン、B分析プラグイン、C分析プラグインが用いられる。1つのプラグインでもよい。図2に示すように、構文解析がなされ、抽出構文木が解析され、2依存関係分析がなされる。この分析によって依存関係が形成され、次いで3影響波及分析がなされる。この分析によって影響波及結果が生成される。図3は、処理の流れを示す。ソースコードについて1文法解析を行うS1。ソースコードだけでは不足する型情報等をバイトコードなどの補完情報で補完するようにしてもよい。ここで補完するとは、ソースコードだけでは不足する情報を補うための補足情報をいう。例えばJava登録商標言語におけるclassやjarファイルの情報を指す。1構文解析に基づいて抽象構文木を形成しS2、2依存関係分析を行うS3。この分析結果により依存関係を形成しS4、影響の基点を基に、3影響波及分析を行うS5。この分析結果により影響波及結果を生成するS6。図4は、ソースコードの構文解析手段及び抽象構文木分析手段によってソースコードの文法を解析し、抽象構文木を分析し形成することを示す。ここでは、人間の目で追うことに近付けるために、ソースコードの各命令文の意味を解析し、その結果を抽象構文木に変換する。抽象構文木を分析し、命令用語から命令文を検索する。図5は、命令文同士の繋がりを分析することを示す。例えば、メソッド呼出し文は、呼出先のメソッド宣言に繋がる。このように、メソッド呼出しだけでなく、変数の利用と宣言など、全ての命令文について繋がりを付与する。これを依存関係と呼ぶ。依存関係は影響波及を辿る道筋として用いる。図6は、影響波及範囲の設定及び影響波及範囲の特定を示す。図6には、命令文1及び命令文2を基点とするソースコードの一連の命令文の繋がりが記載されている。命令文1を起点とするソースコードと命令文2を起点とするソースコードは、命令文5は同一であると、それぞれのソースコードに共有された命令文となっていることを示す。命令文5は命令文7、命令文8が繋がり、命令文7には命令文9が繋がる。図に示すように命令文5、命令文7、命令文9は、他のプログラムとの関係で、それぞれのソースコードに共有された命令文の繋がりを形成している。共有された命令文と依存関係で繋がった命令文との組み合わせを含んで複数のソースコードについての命令文による依存関係グラフが形成され、影響波及範囲が設定される。影響波及の調査は、命令文同士の依存関係を辿ることで行う。今、起点とされたソースコードの内、命令文2についてのソースコードを基点のソースコードとする。基点となる命令文2を指定し、基点となる命令文の依存関係を辿ることで設定された影響波及範囲が特定される。図7は、図6に示す状態でクラスやメソッドとの関係を示す。図7において、命令文はクラスやメソッドに所属している。よって命令文を辿ることで、所属しているクラスやメソッドを特定することができる。例えば、命令文1はクラスAのメソッドαに所属している。図8は、図6に示す命令文と命令文の繋がりを具体例で示す。図8において、ソースコードの命令文単位で影響波及のルートが示され、影響波及対象の命令文は命令用語から自動的に抽出される。図9は、依存関係を辿った影響波及調査の例を示す。図9は、UseInfoクラスに定義されたnameプロパティが及ぼす影響範囲を特定する例を示す。この例では、nameプロパティが持つ値の変更に伴なって、改修またはテストが必要となる範囲を特定する。例えば、従来3桁で表現していた値を、10桁で表現するように修正する場合である。図9の説明は次の通りである。UserInfoクラスのフィールドに定義されたnameプロパティの変更に対する影響波及を調査する。UserInfoクラスの影響波及1.nameプロパティは、getNameメソッドおよびsetNameメソッドで用いられている。getNameメソッドのreturn文でnameプロパティが返却されるため、getNameメソッドの呼出元に影響が波及する。⇒UtilityクラスのmakeKeyメソッドへ。2.setNameメソッドでは、setNameメソッドの引数の値をnameプロパティに上書きするため、nameプロパティの変更に対する影響はなく、これ以上の波及はしない。Utilityクラスの影響波及1.userInfogetNameの値に影響があるため、その値を用いた計算結果を格納するstring変数に影響が波及する。2.string変数は、encryptionencryptメソッドに渡されるため、その計算結果であるencryptedString変数、およびencryptメソッドに影響が波及する⇒Encryptionクラスのencryptメソッドへ。3.encryptedString変数はmakeKeyメソッドの戻り値となるため、makeKeyメソッドの呼出元へ影響が波及する。⇒Logicクラスのlogicメソッドへ。Encryptionクラスの影響波及1.encryptメソッドのstring引数に影響があるため、その値を用いた命令文processの引数に影響がある。2.processメソッドの引数のstring変数に影響があるため、その値を用いているreturnstring命令文に影響がある。return文に影響があるため、processメソッドの戻り値に影響するため、processメソッドの呼出元に影響が波及する。⇒Encryptionクラスのencryptメソッド3へ。3.encryptedString変数をreturn文で返却しているため、encryptメソッドの呼出元に影響が波及する。⇒UtilityクラスのmakeKeyメソッドへ。Logicクラスの影響波及UtilityクラスのmakeKeyの戻り値に影響があるため、その値をセットしているkey変数に影響がある。key変数はその後に用いられていないため、ここで影響波及は終了となる。図10は、本実施例による影響波及範囲調査による結果を呼出関係による影響波及調査との比較によって示す。呼出関係による影響波及調査方法では、影響のないクラス/メソッドが大量に抽出されるため、どこまで辿るかを人間が判断し、絞り込むことが必要となる。これに対して、本実施例では、影響波及調査された結果は、必要充分な結果であるため、どこまで辿るかという判断を必要としない。本実施例によれば、文法を命令文単位に構文解析することで、命令文同士の依存関係を分析できる処理の流れを分析できるという特徴を得ることができる。これにより、影響する命令文を辿ることができ、例えば呼出関係を中心とした影響波及調査の問題を解決できる。そして、図6、図7に示すように、影響の終着点を機械的に判断することができる。スパゲティコードのような場合にあっても必要な命令文関係を抽出することができる。図11から図14は、本実施例による影響波及範囲調査による結果を呼出関係による影響波及調査との比較を具体的に示す。図11から図13は、従来の呼出関係による影響波及調査の結果を示す。詳細内容は、これらの図に記述した。図14は、本実施例による影響波及調査の結果を示す。したがって、これらの比較から本実施例によれば、影響のないクラス及びメソッドが大量に抽出されることはなく、命令文と命令文の繋ぎによる依存関係を辿ることで影響波及範囲を特定することができる。このように、本実施例は、大規模なシステムの改修の時に実施する影響波及調査の制度を向上させ、作業効率を向上させることができる。