"任意のプログラムが登録されるプログラム記憶手段と、予め設計規約が記憶されている設計規約記憶手段と、該プログラム記憶手段に初版または更新版の前記プログラムが新たに登録された後に、該新たに登録されたプログラムに対して前記設計規約に基づいて静的解析を実行する静的解析実行手段と、該静的解析実行手段による前記静的解析結果として少なくとも設計規約違反箇所と違反内容が記憶される静的解析結果記憶手段と、前記プログラム記憶手段に登録されるプログラムのうち複数の版が存在するプログラムに関して、相対的な旧版新版となる任意の2つの版毎に、該2つの版それぞれの前記静的解析結果に基づいて、旧版における前記設計規約違反箇所と、新版において該設計規約違反箇所に対応する箇所である該当箇所とで、前記違反内容が異なる場合には、該設計規約違反箇所と該当箇所に関する情報を新旧関連情報として記憶する新旧関連情報抽出記憶手段と、該新旧関連情報抽出記憶手段に記憶される新旧関連情報に基づいて、任意の設計規約に関して、前記設計規約違反箇所のプログラム文と前記該当箇所のプログラム文とを、その違反内容変化と共に表示する支援情報表示手段と、を有することを特徴とするプログラム改善支援システム。前記新旧関連情報抽出記憶手段は、前記該当箇所に関しては違反が無い場合に前記違反内容が異なる場合と見做して、前記設計規約違反箇所と該当箇所に関する情報を新旧関連情報として記憶することを特徴とする請求項1記載のプログラム改善支援システム。前記新旧関連情報抽出記憶手段に記憶される前記新旧関連情報に基づいて、前記設計規約違反箇所のプログラム文と前記該当箇所のプログラム文とを、その違反内容と共に表示し、該表示内容に対する任意の評価結果入力を受け付け、入力された評価結果を前記新旧関連情報に対応付けて前記新旧関連情報抽出記憶手段に追加記憶する変化要因評価結果入力手段を更に有し、前記支援情報表示手段は、前記設計規約違反箇所のプログラム文と前記該当箇所のプログラム文とを、その違反内容変化と前記評価結果と共に表示することを特徴とする請求項1または2記載のプログラム改善支援システム。前記違反内容変化の表示は、設計規約違反箇所に係る規約違反が、前記該当箇所では違反なしとなっていることを表示するものであることを特徴とする請求項1~3の何れかに記載のプログラム改善支援システム。前記変化要因評価結果入力手段は、予め登録されている特定ユーザに対してのみ、前記評価結果入力を許可することを特徴とする請求項2記載のプログラム改善支援システム。前記変化要因評価結果入力手段は、前記評価結果入力に加えて更に任意の補足説明の入力も受け付け、入力された評価結果と補足説明を前記新旧関連情報に対応付けて前記新旧関連情報抽出記憶手段に記憶し、前記支援情報表示手段は、前記表示の際に該評価結果と補足説明も表示することを特徴とする請求項3記載のプログラム改善支援システム。前記支援情報表示手段は、任意に指定される設計規約に基づいて、旧版に係る設計規約違反が該指定される設計規約に対する違反である新旧関連情報を、前記新旧関連情報抽出記憶手段を検索して求めて一覧表示すると共に、該一覧表示中から任意の新旧関連情報を選択させる検索選択手段と、該検索手段で選択された新旧関連情報を用いて、前記設計規約違反箇所のプログラム文と前記該当箇所のプログラム文とその違反内容変化の表示を行う表示手段と、を有することを特徴とする請求項1記載のプログラム改善支援システム。前記静的解析記憶手段に記憶された静的解析結果に基づいて、任意のプログラムの任意の版に関する設計規約違反箇所と違反内容を抽出して表示すると共に、該表示から任意の設計規約違反が指定されると、前記支援情報表示手段を起動する静的解析警告指摘箇所抽出手段を更に有し、前記支援情報表示手段は、該静的解析警告指摘箇所抽出手段で指定された設計規約違反に関して、前記検索と一覧表示を行うことを特徴とする請求項7記載のプログラム改善支援システム。しかしながら、欠陥の可能性の指摘警告に対して解決する方法としていくつかの方法があり、そのうちのいくつかは本質的に問題を解決するがつまり、プログラムの欠陥を解消するが、そのうちのほかのものは表面的には警告を受けないような形にできるが、本質的に問題を解決できるものではない場合には、統計量との比較や、表形式やグラフ形式で表示された経時的な推移のみでは、どの修正方法が本質的に問題を解決できる妥当なものか判断するのが難しいことがある。また、初級の作業者の場合には、欠陥の可能性の指摘があったとしても、具体的にどのように修正すれば良いか、判断が難しいことがある。本発明の課題は、任意に作成されるプログラムに関する静的解析結果に基づいて、警告を解消し得る具体的なプログラム修正方法を、容易に、更に場合によっては適切な評価付きで、把握することができるようにし、以ってプログラムの修正を容易に的確に行えるようにするプログラム改善支援システム等を提供することにある。本発明のプログラム改善支援システムは、任意のプログラムが登録されるプログラム記憶手段と、予め設計規約が記憶されている設計規約記憶手段と、該プログラム記憶手段に初版または更新版の前記プログラムが新たに登録される毎に、該新たに登録されるプログラムに対して前記設計規約に基づいて静的解析を実行する静的解析実行手段と、該静的解析実行手段による前記静的解析結果として少なくとも設計規約違反箇所と違反内容が記憶される静的解析結果記憶手段と、前記プログラム記憶手段に登録されるプログラムのうち複数の版が存在するプログラムに関して、相対的な旧版新版となる任意の2つの版毎に、該2つの版それぞれの前記静的解析結果に基づいて、旧版における前記設計規約違反箇所と、新版において該設計規約違反箇所に対応する箇所である該当箇所とで、前記違反内容が異なる場合には、該設計規約違反箇所と該当箇所に関する情報を新旧関連情報として記憶する新旧関連情報抽出記憶手段と、該新旧関連情報抽出記憶手段に記憶される新旧関連情報に基づいて、任意の設計規約に関して、前記設計規約違反箇所のプログラム文と前記該当箇所のプログラム文とを、その違反内容変化と共に表示する支援情報表示手段とを有する。上記プログラム改善支援システムでは、静的解析結果を用いて上記新旧関連情報を生成登録することで、これを利用して任意の設計規約に関する違反を解消する為に参考となる情報を表示できる。特に、例えば旧版における任意の規約違反が、新版の上記該当箇所では違反なしとなっている場合には、設計規約違反箇所のプログラム文と該当箇所のプログラム文の表示を参照することで、ユーザは違反を解消し得る具体的なプログラム文修正前と修正後を参照することになる。また、例えば、上記新旧関連情報に基づく表示を、特定ユーザ熟練者等に対して行うことで、特定ユーザが任意の評価を行って、この評価結果を上記新旧関連情報に含めるようにしてもよい。これによって、上記プログラム文の表示の際には評価結果も表示することで、ユーザは、より適切な具体例違反を解消し得るプログラム文修正前と修正後を選択的に参照することが可能となる。本発明のプログラム改善支援システム等によれば、任意に作成されるプログラムに関する静的解析結果に基づいて、警告を解消し得る具体的なプログラム修正方法を、容易に、更に場合によっては適切な評価付きで、把握することができるようにし、以ってプログラムの修正を容易に的確に行えるようにすることができる。以下、図面を参照して本発明の実施の形態について説明する。図1は、本例のプログラム改善支援システム10の構成機能ブロック図である。プログラムを作成する作業者プログラマは、テキストエディタなどを使用して任意のプログラムを作成する。作成したプログラムは、プログラム登録部1を介してプログラム改善支援システム10に登録される構成管理DBデータベース2に格納される。また、作業者が、後にこのプログラムの更新版修正版/バージョンアップ版等を作成したときにも、この更新版のプログラムは、プログラム登録部1を介して構成管理DB2に格納される。尚、プログラム登録部1は、単に任意のデータ/プログラムを入力して記憶装置に記憶する機能を有するものであってよいが、この例に限らない。例えば、本システム10が、サーバ装置と複数のクライアント装置端末と呼ぶとがネットワークに接続されてなるシステムの場合、例えば、各プログラマは端末側でプログラムを作成した後、ネットワークを介してサーバ装置に対してこのプログラムの登録を依頼することになる。この例の場合、例えば、プログラム登録部1はサーバ装置に設けられており、上記登録依頼を受けて登録許可するか否かを判定して、許可する場合にこのプログラムをサーバ装置内の記憶装置構成管理DB2に記憶する機能等を有する。尚、この例の場合、画面12は、端末のディスプレイ等であると考えても良い。尚、構成管理DB2は、単なるデータベースだけでなく、当該データベースに記憶するデータの管理機能例えば版数管理等も含むものと考えても良い。構成管理DB2が高度な管理機能を備えている場合には、プログラム作成者は構成管理DB2にログインしたうえで、プログラムの登録を行うようにしても良い。図示の例のプログラム改善支援システム10は、上記プログラム登録部1及び構成管理DBデータベース2に加えて更に、設計規約DBデータベース5、静的解析DBデータベース3等の各種データベースと、静的解析実行部4、変更差分抽出部6、静的解析結果変化要因分析部7、静的解析警告指摘箇所抽出部8、静的解析警告指摘対応検索部9、変化要因評価結果入力部11等の各種処理機能部を備えている。また、任意の画面12をディスプレイ上に表示する機能を備えている。上記のように構成管理DBデータベース2に登録された任意のプログラムは、静的解析実行部4で静的解析され、この解析結果は静的解析DBデータベース3に登録される。この静的解析処理は、予め設計規約DBデータベース5に登録されている設計規約に基づいて実行される。この静的解析処理自体は、既に従来技術で述べたように既存技術であり、処理内容については特に説明しないが、設計規約DB5に登録された設計規約や静的解析結果については、後に具体例を用いて説明するものとする。上記静的解析実行部4による静的解析処理は、各プログラムの初版だけでなく更新版バージョンアップ版等に対しても実行される。つまり、任意のプログラムが新たに作成された際には、当然、この新規プログラム初版に対して静的解析処理が実行されるが、この解析によって何らかのエラー設計規約違反等が検出警告されれば、プログラムを修正する必要が生じる。更に修正後も全ての警告が解消されずに何らかの警告が残っていれば、更に修正を行うことになる。この様に、新規プログラム作成時だけでなく、このプログラムの更新版2版、3版、等が作成されて構成管理DB2に格納される毎に、これら各更新版のプログラムに対しても静的解析処理が実行される。構成管理DB2には、上記のように複数の版のプログラムが逐次登録されて管理されているが、変更差分抽出部6は、これらの複数の版のプログラムのうち、任意の2つの版のプログラムの間の対応関係や差分変更部分を抽出する。これは、例えば後述するように上記静的解析実行部4による静的解析処理結果等に基づいて、2つの版のプログラムの間の対応関係や差分変更部分を抽出する。静的解析警告指摘箇所抽出部8は、上述した静的解析実行部4によって求められて静的解析DB3に登録された静的解析結果に基づいて、画面表示を行う。これは例えば、プログラムにおいて設計規約違反が指摘された箇所警告箇所と警告内容が分かるような画面表示を行う。尚、静的解析警告指摘箇所抽出部8は、上記プログラムにおいて規約違反が指摘された箇所警告箇所を抽出して、この警告箇所のプログラム文のみを画面表示等するものであってもよい。これについても後に説明する。これらの差分変更部分や警告箇所は、必要に応じて作業者の端末の画面12に表示され、プログラムの状況を確認することができる。尚、プログラム改善支援システム10は、例えばサーバ装置単体で実現してもよいし、上記のようにサーバ装置と複数のクライアント装置各作業者の端末とがネットワークに接続された構成で実現してもよい。後者の場合、例えば画面12はクライアント装置のディスプレイに相当することになる。更に、上記静的解析結果変化要因分析部7は、上述した静的解析DB3に登録された静的解析結果で指摘されている設計規約違反の警告に対して、その後の版ではこの警告が消失している場合に但し、後の説明のように変化している場合であってもよく、消失している場合に限らない、この消失した警告と警告箇所等に関する情報を登録する例えば後述するテーブル30に登録する。これは、例えば、まず、任意の2つの版のプログラム相対的に新版と旧版となる2つのプログラム;例えば後述する図5の例では3.0版と3.1版の2つのプログラム;よってプログラムファイル名は同一であってよいを、静的解析DB3から取得する。更に、これら取得した2つの版のプログラムの対応関係や差分を抽出するこれは、上記変更差分抽出部6の機能によって抽出してもよい。そして、例えば典型例としては、これら各差分のうち、相対的に旧版となるプログラムでは警告箇所であったが、相対的に新版となるプログラムでは警告が消失しているものに関しては、例えば後述するテーブル30への登録を行う。つまり、この様な差分を上記消失した警告設計規約違反の警告等に関連付けて静的解析DB3に登録するこれを修正前後関連情報を登録するものと表現する場合もあるものとする。但し、この様な典型例に限らず、例えば警告が消失していなくても警告内容が変わっていれば、例えば後述するテーブル30への登録を行うようにしてもよい。上記登録内容修正前後関連情報の具体例を図5aのテーブル30に示し後に説明する。尚、図5aの例ではテーブル30に格納される各修正前後関連情報新旧関連情報は、複数の版が存在するプログラムに関して、例えば、相対的な旧版と新版となる任意の2つの版修正前、修正後に関して、旧版修正前における設計規約違反箇所行番号等と違反警告内容と、新版修正後において旧版の設計規約違反箇所に対応する箇所行番号等とこの対応箇所の違反警告内容警告なしも含まれるとが、関連付けられた情報である。更に、後述するように、後に、熟練した作業者による評価結果や補足説明等が追加される場合もある。また、上記変化要因評価結果入力部11は、上記修正前後関連情報例えば消失した警告と、これに関連付けられたプログラムの差分部分等に基づく画面例えば図6に示すような差分表示入力画面50を、画面12等に出力する。そして、変化要因評価結果入力部11は、この画面表示を熟練した作業者等が見る等して、上記差分部分の修正警告を消失させた修正等が妥当なものか否かを、熟練した作業者等が判定して、判定した結果評価結果や補足説明等を入力できるようにしている。この入力結果は、上記画面表示に用いた修正前後関連情報に対応付けて修正前後関連情報に追加する形で、静的解析DB3そのテーブル30等に登録される。また、上記静的解析警告指摘対応検索部9は、任意に指定される設計規約に基づいて上記静的解析DB3に登録された修正前後関連情報の格納テーブル後述するテーブル30等を検索して、該当する情報を求める。そして、この検索結果、すなわち、指定された設計規約に違反した過去のケースに係る上記修正前後関連情報修正前後の設計規約違反の警告警告なしも含まれる、それに関連した修正前後のプログラム文、情報がある場合には熟練した作業者の評価結果や補足説明等を、作業者の端末の画面12に表示させる。以下、上述したプログラム改善支援システム10の各構成について、更に詳しく説明する。上記の通り、構成管理DBデータベース2に格納されたプログラムは、初版であっても更新版であっても静的解析実行部4で静的解析される。この静的解析処理は、設計規約DBデータベース5に予め記憶されている各種設計規約に基づき実行される。静的解析の結果は、静的解析DBデータベース3に格納される。設計規約DBデータベース5の具体例については後に図5bを参照して説明するが、各種設計規約の一例を図2aに示す。設計規約DB5に格納されている設計規約の具体例としては、例えばC言語を対象とした場合、図2aに示す例が考えられる。この例は、このプログラム改善支援システム10を使用する組織では、関数の仮引数の変数名により変数の意味を判別できるので可読性や保守性を向上できるという効果を見込んで、このような設計規約を作っているものとしている。この例の場合、プログラムを図2bのように記述した場合、静的解析の結果、設計規約違反が警告されることになる。一方、プログラムを図2cのように記述した場合には、設計規約違反は警告されない。設計規約DB5には、例えばこの様な設計規約が複数登録されている。これらの設計規約は、プログラム改善支援システム10を使用する組織の設計方針に従って、その登録内容が任意に決められる。但し、各設計規約は表示用とコンピュータ処理用とから成り、図2bには表示用を示している。表示用は、例えば後述する図3のように画面上に表示することで、ユーザが規約内容を認識できるようにする為のものである。一方、コンピュータ処理用は、上記静的解析実行部4が静的解析する際に参照するものであり、表示用の内容に相当するチェックを実行させる為のものである。コンピュータ処理用の具体例は特に示さないが、上記の一例では、図2bのように変数型‘int’の後に変数名引数名の記述が無くてカンマ,がある場合には、変数名の記述が無いものとして設計規約違反と判定させるような規約内容となっているものとする。尚、この例に限らず、通常は構文解析を行うのであるから、構文解析を行った結果、引数が無いことが検出された場合に、上記と同様の設計規約違反と判定するようにしてもよい。その後、上記静的解析警告指摘箇所抽出部8が、上記静的解析実行部4によって求められて静的解析DB3に登録された上記静的解析結果に基づいて、警告箇所規約違反箇所のプログラム文やその警告内容等を抽出してこれを画面12に表示する例えば図3のような画面を表示する。あるいは、プログラム全文を表示すると共に警告箇所や警告内容が分かるような表示を行うようにしてもよい。この表示画面を作業者等が参照することができる。更に作業者は、後述するように、この表示画面図3の画面等から任意の警告への対処方法の参考となる情報が得られる画面後述する図7、図8の画面等に移行させることで、警告に対する適切な対処方法プログラム文の修正方法等を知ることもできる。尚、上記静的解析警告指摘箇所抽出部8は、上記静的解析実行部4によって新たな静的解析結果が求められると、自動的に起動して上記画面表示を行うものであってもよい。プログラマは、通常、初版であるか更新版であるかは関係なく新たに作成したプログラムを登録したら、その解析結果設計規約違反等の警告がないかをを知りたいものであり、これより上記のように自動的に起動して解析結果を画面表示するようにしてもよい。そして、更に、上記図7、図8等の画面表示に移行することで、効率的に的確にプログラムの警告箇所を修正することが可能となる。図3は、静的解析警告指摘箇所抽出部8による画面12警告箇所表示画面20と呼ぶの表示例である。尚、ここで静的解析実行部4による静的解析結果について簡単に説明しておく。この静的解析結果の具体例は、特に図示しないが、例えば解析対象プログラムファイルのファイル名と版数バージョン、解析対象プログラムにおいて規約違反が検出された箇所警告箇所の行番号と、当該違反があった規約の識別番号違反規約番号等から成るものである。例えばこの様な静的解析結果や構成管理DB2や設計規約DB5等に基づいて、静的解析警告指摘箇所抽出部8は例えば図3に示す警告箇所表示画面20を、例えば画面12に表示する。図3に示す警告箇所表示画面20において、図示の画面上の左上に示すファイル名25には、解析対象プログラムのファイル名が表示され、その下側に示す図示のプログラム表示領域21には、この解析対象のプログラムの内容プログラムリストが表示される。プログラム表示領域21には、例えば、解析対象のプログラムがスクロール表示される図では解析対象のプログラムの一部のみが表示されている。但し、この例に限らず、例えば、静的解析警告指摘箇所抽出部8は、静的解析DB3静的解析結果や構成管理DB2や設計規約DB5等に基づいて、警告箇所規約違反箇所のプログラム文やその警告内容等を抽出して、当該警告箇所のプログラム文のみをプログラム表示領域21に表示させるようにしてもよい。すなわち、上記静的解析結果における警告箇所の行番号により、構成管理DB2の解析対象プログラムからこの行番号のプログラム文を抽出することで、警告箇所のプログラム文のみをプログラム表示領域21に表示させることができる。同様に、設計規約DB5から上記静的解析結果における違反規約番号に該当する設計規約を抽出して、画面20に表示させることができる後述する設計規約表示領域22に表示する。尚、本画面20は、例えば静的解析実行部4の処理後に自動的に表示されるものとし、上記ファイル名25には静的解析実行部4による解析対象のプログラムファイル名が自動的に設定されるものとしてもよいが、この例に限らない。例えば、ユーザが任意の解析対象プログラムのファイル名を、上記ファイル名25の入力領域に入力するようにしてもよい。尚、この場合、例えば図示のファイル名25の右側に示す所定ボタン▽マークをユーザが操作すると、構成管理DB2に登録されているプログラムファイルのファイル名一覧が表示され、ユーザが任意のファイル名を選択指定することで、ファイル名25が設定されるようにしてもよい。尚、図3に示す画面は一例であり、この例に限らない。例えば、構成管理DB2が上述したようにデータの管理機能版数管理等も有する場合には版数も指定できるようにしている場合には、図3と略同様の画面において更に版数の入力欄を設けてもよい。この場合には、ユーザにより指定された任意のファイル名の任意の版数のプログラムに関する静的解析結果が表示されることになる。上記プログラム表示領域21に表示されるプログラムリストにおいて、何らかの設計規約違反と判定されたプログラム文に対しては、プログラム表示領域21の図上左端の領域に所定のマークここでは四角形のマークが表示される。これは、静的解析結果の上記警告箇所の行番号に基づいて表示できる。この例では、図示のfunc2とfunc3の行プログラム文に設計規約違反があるので、このことを示すために、これらfunc2とfunc3の行に対しては図上左端の領域にそれぞれ四角形のマーク白四角□、黒四角■が表示されている。尚、基本的には白四角□が表示されるが、ユーザ作業者が、四角形マークがある行プログラム文のなかから任意の行を指定すると、指定された行のマーク表示は、黒四角■に変わるようになっている。図示の例では現在、func3の行プログラム文が指定されているものとしているので、func3の行のマーク表示は黒四角■になっている。また、警告箇所表示画面20の図上右上に示す設計規約表示領域22には、現在指定されている行黒四角■の行に関して違反している設計規約の内容が表示される。これは、上記違反があった規約の識別番号違反規約番号と設計規約DB5に基づいて表示できる設計規約DB5については後に図5bを参照して説明する。また、画面20の図上右下に示す指摘箇所表示領域23には、現在指定されている行プログラム文の関数名等が表示される。プログラムの製作作業者は、例えば上述したような警告箇所表示画面20の表示内容を参照して、設計規約違反が警告されていれば、この警告に従って上記解析対象のプログラムを修正する更新版のプログラムを作成する。ここで、本手法では、ユーザが例えば警告箇所表示画面20内の図示の修正候補の検索ボタン24を操作することで、上記の現在指定されている行黒四角■の行の設計規約違反を解消する為に参考となる情報が得られる画面後述する画面70、画面80等の表示が行われる。これについては、後に詳細に説明するものとする。尚、この場合のユーザとは、主に上記熟練した作業者以外の作業者を想定している。上記プログラムの修正が完了したら、更新版プログラムを、プログラム登録部1を使用して構成管理DB2に登録する。これより、上記初回初版のプログラムの場合と略同様に、構成管理DB2に登録された上記更新版プログラムに対して、静的解析実行部4により静的解析が実行され、その結果は静的解析DB3に格納される。ここで、上記1回目初版のプログラムの登録の場合と異なり、2回目以降更新版のプログラムの登録後に関して、更に、上記変更差分抽出部6によって2つの版のプログラムの差分を抽出して例えば前回最新版の1つ前の版のプログラムと今回最新版のプログラムとの差分変更部分を抽出して、これを例えば画面12に表示することで、作業者等が画面12を参照してプログラムの修正部分の確認等を行うことができる。上記変更差分抽出部6による上記2つの版のプログラムの差分変更部分の抽出処理について、以下、説明する。但し、変更差分抽出部6による画面表示については、ここでは特に示さない。また、必ずしも変更差分抽出部6による画面表示を行う必要はない。但し、変更差分抽出部6の機能自体または処理結果は、後述するように、静的解析結果変化要因分析部7の処理の際に利用される。詳しくは後述する。変更差分抽出部6の処理では、まず、対象となる2つの版のプログラムソースコード同士の対応付けを行う。これは既存技術であり特に詳細には説明しないが、2つの版のプログラムソースコード間で、例えば行単位1行単位でも複数行単位でもよいまたは関数単位等で対応付けを行う。例えば行単位の場合、例えば前回のプログラムの各行毎に、その行に対応する今回のプログラムの行を求めて、両者の行番号を対応付けて一時的に記憶する前回プログラムの行番号:これに対応する今回プログラムの行番号。これは、例えば前記プログラムにおける任意の行に関して、今回最新版においてたとえ行番号が変わっても内容が変わっていなければ内容が完全一致する場合には、当然、問題なく対応付けられることになる。尚、実際には、1行だけ一致しても完全一致とは見做さず、複数行連続して一致した場合に完全一致と見做す場合が多いが、この例に限らない。また、他にも例えば、コメント部分の変更は無視する方法もありコメント部分が変更されていても、本文部分に変更がなければ、完全一致と見做す、様々な方法があってよい。対応付け結果は、上記の通り、例えば行単位の場合には、前回のプログラムにおける任意の行の行番号と、今回最新版のプログラムにおいて対応する行の行番号とを、対応付けたものとなるこれに、更に修正の有無を示す情報も付加されてもよい。例えば、3.0版のプログラムと3.1版のプログラムとを例にして、例えば3.0版の110行目~115行目に上記関数func2に係る記述があり、3.1版では同一の記述が120行目~125行目にあった場合には、修正なしの判定と共に3.0版の110行目~115行目と3.1版の120行目~125行目とが対応付けられて記憶されることになる。また、例えば、3.0版の200行目~204行目に上記関数func3に係る記述があり、3.1版ではその一部が修正された例えば‘int’の後に変数名が記述された記述が210行目~214行目にあった場合には、修正ありの判定と共に、3.0版の200行目~204行目と3.1版の210行目~214行目とが対応付けられて記憶されることになる。尚、例えば、3.0版の200行目~204行目と3.1版の210行目~214行目とが完全一致する場合には、両者は対応付けられるべきものと判定することになる。そして、例えば、修正ありとなっているものだけを表示する。上記の例では、例えば、3.0版の200行目~204行目と3.1版の210行目~214行目とが、両者が対応付けられる形で表示されることになる。尚、上記2つのプログラムの差分に関しては、上述した前回と今回最新版との差分の例に限らず、更に前々回と今回最新版との差分や、初版と今回最新版との差分等を求めるものであってもよい。このように、更新版が存在するプログラムに関して、構成管理DB2に格納された各版同士の変更部分差分等を求めて表示等することができる。尚、上記変更差分抽出部6の処理機能または処理結果は、上記のように単に画面表示する場合に限らず、例えば後述する図4の処理で用いることもできる。尚、構成管理DB2が高度な管理機能を備えている場合には、プログラム製作の作業者は構成管理DB2にログインし、修正対象のプログラムを構成管理DB2からチェックアウトした後、プログラムの修正を行い、その後、修正後のプログラムを構成管理DB2にチェックインするようにしてもよい。その際には、構成管理DB2には、修正後更新版のプログラムだけでなく、修正日時や修正作業者も登録されるようにしてもよい。また、作業者は必要に応じてベースライン番号版数を設定することも可能である。この場合には、変更差分の情報には、修正日時、修正作業者、ベースライン番号版数などの付帯情報を含めることができる。更新版が存在するプログラムに関しては、さらに任意のときに例えば最新版が登録されて静的解析が行われた後等であるが、この例に限らない、静的解析結果変化要因分析部7によって、任意の2つの版同士の静的解析結果に係る差分特に旧版では何らかの設計規約違反の警告があった箇所が、新版では警告が解消されている部分が抽出登録される。この分析処理の一例を、図4に示すフローチャート図を参照して説明する。図4は、静的解析結果変化要因分析部7による分析処理フローチャート図である。尚、この処理の前に、ユーザが任意の解析対象プログラムを指定そのファイル名の入力等を行うようにしてもよい。また、本説明では、解析対象プログラムは、初版、2版、3版が作成登録されているものとし登録時に静的解析も実行済み、3版最新版のプログラム登録後に本処理が行われる場合を例にして説明するものとする。図4において、まず、解析対象プログラムの初版の静的解析結果をキーとして取得するステップS101。これは、上記のように、静的解析結果は例えばファイル名と版数バージョン、規約違反があった箇所警告箇所の行番号と違反規約番号等から成るものであるので、そのなかでファイル名が解析対象プログラムのファイル名であり且つ版数が初版であるデータ全てを、上記キーとして取得すればよい。次に、キーとして取得した静的解析結果における全ての警告規約違反それぞれについて各規約違反箇所を順次、処理対象として、以下のステップS103~S107の処理を実行するS102-S102a間でループ。まず、初版における処理対象の規約違反箇所上記規約違反があった箇所警告箇所の行番号;以下、違反箇所行番号と言うと、上記変更差分抽出部6による上記2つの版のプログラム同士の対応付け結果もしくは差分の抽出処理結果とに基づいて、1つ後の版最初は、初版の次の版;本例では2版のプログラムにおける該当箇所の静的解析結果を取得するステップS103。これは、上記変更差分抽出部6の対応付け結果によって、初版の各行毎に、その行に対応する2版の行が分かるので例えば対応する行番号同士がペアで登録されているので、上記各規約違反箇所上記違反箇所行番号毎に、その違反箇所行番号の行に対応する1つ後の版のプログラムにおける行の行番号上記該当箇所の行番号が分かる。これより、上記1つ後の版のプログラムに関する静的解析結果に、この該当箇所に関する情報がある場合にはこの情報を取得する。但し、もし、該当箇所に関する情報が無い場合には、警告は解消されたものと見做し、ステップS103では例えば警告なしが取得されたものとする。ここで、上述した具体例において仮に3.0版が初版、3.1版が1つ後の版であるものとし、例えば上記初版における処理対象の規約違反箇所が3.0版の110行目~115行目であったとするならば、上記例では3.1版における該当箇所は120行目~125行目ということになる。よって、この場合には、3.1版に関する静的解析結果のなかに120行目~125行目に関する警告があった場合には、この警告内容違反があった設計規約の規約番号等が、上記該当箇所の静的解析結果として取得されることになる。尚、もし、3.1版に関する静的解析結果のなかに120行目~125行目に関する警告が無かった場合には、上記該当箇所の静的解析結果として警告なしが取得されることになる。尚、上記一例では事前に変更差分抽出部6の処理少なくとも対応付け処理が行われているものとしたが、この例に限らない。例えば、事前ではなく本処理中に、変更差分抽出部6の処理を行うようにしてもよい。この場合には、ステップS103の処理は、例えば図中に点線で囲ったステップS103a~S103cの処理を行う。すなわち、変更差分抽出部6の機能の一部対応付け機能によって、上記処理対象の規約違反箇所のプログラム文等に基づいて、上記1つ後の版のプログラムを検索して該当箇所を求める。すなわち、上記の例では2版のプログラムにおいて初版の上記違反箇所のプログラム文と同一完全一致のプログラム文がある箇所の行番号等を、上記該当箇所として抽出するステップS103a。そして、この該当箇所の行番号等を用いて、上記の例では2版のプログラムに関する静的解析結果を検索して、該当箇所に関する警告があればこの警告情報違反規約番号等を取得し、警告が無ければ例えば警告なしが取得されるものとするステップS103b、S103c。そして、上記初版の規約違反箇所と1つ後の版における該当箇所とで、解析結果に変化があるか否かを判定するステップS104。これは、例えば、上記初版プログラムに係る上記キーにおける上記規約違反箇所の違反規約番号と、1つ後の版ここでは2版のプログラムに係る上記該当箇所に関する違反規約番号とが、一致するか否かを判定し、不一致の場合には解析結果に変化ありステップS104,YESと判定する。尚、上記警告なしの場合には、違反規約番号が無いことになるので、必ず不一致となり解析結果に変化ありステップS104,YESと判定されることになる。但し、この例に限らず、典型例としては例えば、1つ後の版ここでは2版のプログラムに係る上記該当箇所に関しては警告なしとなっている場合にのみこの様な変化があった場合のみ、解析結果に変化ありステップS104,YESと判定するようにしてもよい。尚、上記の通り、1つ後の版ここでは2版のプログラムに関する静的解析結果も静的解析DB3に格納されている。この静的解析結果には上記の通り規約違反があった箇所の行番号違反規約番号が登録されているので、このなかに上記該当箇所の行番号が存在しなければ警告なし規約違反なしと見做すようにすればよい。ステップS104がYESの場合、変更箇所に関する情報差分情報の取得を行いステップS106、当該差分情報の登録を行うステップS107。差分情報は、例えば、上記処理対象の新旧2つの版ここでは初版と2版本例では後に初版と3版、2版と3版の処理も行うことになるの相互に対応する行の行番号とこれらの行の違反規約番号、版数等である。ステップS107は、例えば図5aに示す修正データテーブル30への差分情報の登録を行うものである。尚、修正データテーブル30も静的解析DB3に格納されるものであってよいが、この例に限らない。図5aには、上記修正データテーブル30の構成例を示す。尚、本例における修正前、修正後とは、例えば相対的な旧版、新版を意味する。上記図4の処理例では、最初の方の処理では、初版が修正前、その1つ後の版2版が修正後として、修正データテーブル30への登録が行われることになる。更に続いて、初版が修正前、上記2版の更にその1つ後の版3版が修正後として、修正データテーブル30への登録が行われることになる。更に、2版が修正前、その1つ後の版3版が修正後として、修正データテーブル30への登録が行われることになる。尚、何れの場合も、ステップS104がYESの場合に、修正データテーブル30への登録が行われることになる。図5aに示す修正データテーブル30は、違反規約番号修正前31、プロジェクト名32、ファイル名33、行番号修正前34、行番号修正後35、違反規約番号修正後36、版数修正前37、版数修正後38、判定39、説明40の各データ項目より成る。ファイル名33には上記解析対象プログラムのファイル名が格納される。尚、プロジェクト名32には、ファイル名33のプログラムが含まれるプロジェクトのプロジェクト名が格納されるが、これは本説明には特に関係ないので、本説明ではプロジェクト名32に関しては省略して説明するものとする。そして、違反規約番号修正前31、行番号修正前34、版数修正前37には、それぞれ、ファイル名33のプログラムの旧版に関する情報が格納される。上記の例では初版プログラムの版数初版が版数修正前37に格納され、上記違反箇所行番号が行番号修正前34に格納され、上記規約違反箇所の違反規約番号が違反規約番号修正前31に格納されることになる。同様にして、上記行番号修正後35、違反規約番号修正後36、版数修正後38には、それぞれ、ファイル名33のプログラムの新版に関する情報が格納される。上記の例では2版プログラムの版数2版が版数修正後38に格納され、上記該当箇所の行番号が行番号修正後35に格納され、該当箇所に関する静的解析結果が違反規約番号修正後36に格納されることになる。尚、上記典型例の場合には違反規約番号修正後36には必ず規約違反なし警告なしを意味する情報図示の例では‘-’が格納されることになる。これは、上記の通り、典型例では、1つ後の版のプログラムに係る該当箇所に関して警告なしとなっている場合にのみ、ステップS104がYESとなってステップS107の処理が行われるからである。尚、図4の処理の段階では、判定39と説明40には、未だデータは格納されないことになる例えば判定39に関しては‘未判定’としておく。判定39と説明40には、後述する処理によって任意の情報が格納され、更にその後、画面表示されることになる。詳しくは後述する。違反規約番号修正前31には、修正前相対的に旧版のプログラムにおいて違反が指摘された設計規約を示す識別番号この識別番号は、本例では図5bの規約番号が格納される。尚、逐一相対的に旧版、相対的に新版等と記すことなく、単に旧版、新版と記す場合もあるものとする。プロジェクト名32には、ファイル名33のプログラムファイルが係るプロジェクトのプロジェクト名が格納される。ファイル名33には、上記の通り解析対象のプログラムファイルの名称が格納される。行番号修正前34には、修正前のプログラムにおける設計規約違反が指摘されている箇所を示す情報行番号が格納される。行番号修正後35には、修正後相対的に新版のプログラムにおいて、修正前のプログラムで設計規約違反が指摘されている箇所に該当する箇所上記該当箇所を示す行番号が格納される。つまり、上記行番号修正前34の行に対応する行の行番号が格納される。違反規約番号修正後36には、上記行番号修正後35の行のプログラム文に関して、設計規約違反がある場合にはその規約番号が格納され、違反が無い場合には違反が無いことを示す記号等本例では‘-’が格納される。尚、図4の処理による場合、違反規約番号修正前31に‘-’が格納されることはない。また、上記一例のように違反規約番号が不一致の場合にステップS104がYESとなってステップS107の処理が行われる例では、違反規約番号修正前31と違反規約番号修正後36とは必ず異なることになる。また、上記典型例の場合、違反規約番号修正後36には必ず‘-’が格納されることになる但し、図5bは典型例を示すものではない。版数修正前37には、修正前のプログラムの版数が格納されている。版数修正後38には、修正後のプログラムの版数が格納されている。判定39には、特定ユーザ熟練した作業者等が入力したプログラムの修正方法の評価結果が格納される。説明40には、特定ユーザ熟練した作業者等が入力した任意の補足説明の内容が格納される。上記の通り、判定39、説明40に関しては、後に説明する処理により後からデータが格納されることになる。尚、ここで、設計規約DBデータベース5に格納される規約データテーブルについて、図5bに示す一例を用いて説明しておく。図5bに示す規約データテーブル41は、規約番号42、設計規約43、有効/無効44の各データ項目より成る。設計規約43には、各設計規約の内容が格納されている。尚、上述したように各設計規約は表示用とコンピュータ処理用とから成り、図では表示用のみ示すが、コンピュータ処理用も格納されている。上記各設計規約43に対応して、規約番号42にはその設計規約に割り当てられた識別番号IDが格納される。また、有効/無効44にはその設計規約が静的解析実行部4で使用されるか否かを示す情報が格納されている有効であれば使用され、無効であれば使用されない。これは、組織毎に必要な設計規約が異なる場合に、その適用/非適用を切り替えるために使用されるが、ここでは特に関係ないので、これ以上は説明しない。再び図4の説明に戻る。上記ステップS104で解析結果に変化無しと判定された場合ステップS104,NO、最新版まで参照したか否かを確認しステップS105、未だ最新版まで参照していないときにはステップS105,NO、ステップS103に戻る。この場合のステップS103,S104の処理は、上記最初の版の警告規約違反に関して更に次の版本例では3版のプログラムに関する静的解析結果を取得して、これを用いて上記判定を行うことになる。つまり、3版における上記該当箇所とその警告内容も、上記2版の場合と略同様にして分かるので、ステップS104では今度は、この3版の該当箇所の警告内容が、初版の警告内容と異なるか否かを判定することになる。あるいは、典型例では、3版の該当箇所が警告なしとなっているか否かを判定し、警告なしの場合には解析結果に変化ありステップS104,YESと判定することになる。そして、ステップS104がYESの場合、初版と3版との上記差分情報を取得して上記テーブル30に格納することになるステップS106,S107。一方、最新版3版まで参照済みの場合にはステップS105,YES、ループの処理の最後ステップS102aにジャンプすることで、未だ未処理の警告があった場合にはループの処理の最初ステップS102に戻り、次の処理対象の警告について上記ステップS103~S107の処理を実行する。また、ステップS102aにおいて未処理の警告が残っていない場合には、ループを抜けて、ステップS108以降の処理へ移行する。また、上記ステップS106,S107の処理を実行した場合も、ループの処理の最後ステップS102aに移行することで、上記と同様の処理を行う。この場合には、特に上記典型例では警告規約違反が解消されているので、それより後の版を参照する必要性は少ないと考えられるからであるが、この例に限らず、例えばステップS107の後にステップS105を実行するようにしてもよい。ステップS108の処理では、初版または前回のステップS108の処理で静的解析結果をキーとして取得した版の次の版の静的解析結果を、キーとして取得する。次に、これが最新版の静的解析結果をキーとして取得したものであるか否かを判定しステップS109、最新版でなければステップS109,NO、ループの先頭ステップS102の処理に戻る。そして、今度は、上記ステップS101で得たキーではなく、ステップS108で得たキーを用いて、上記ステップS102-s102a間のループ処理を実行することになる。上記の例では、今度は2版をキーとして、2版と1つ後の版3版との間で上述した処理を行って、2版において警告を受けた各箇所毎に、3版において警告が変化していた特に警告なしとなった場合には、テーブル30に登録する処理を行うことになる。一方、キーが最新版のものであった場合にはステップS109,YES、ステップS102に戻って処理続行してもステップS103で1つ後の版が存在しないことになるので、本処理を終了する。上述した図4の処理では、任意のプログラムファイル名のプログラムに関して、仮に初版、2版、3版最新版が作成されていた場合、最初は初版の静的解析結果各警告をキーとして取得して、これら各警告に関して2版、3版それぞれとの変化の有無をチェックする変化があれば差分情報を登録する。そして、初版の全警告について処理実行したら、ステップS108で2版の静的解析結果をキーとして取得すると共に、ステップS109がNOとなることからステップS102に戻り、今度は2版に係る各警告について3版における変化の有無をチェックすることになる。そして、2版の全警告について処理実行したら、ステップS108で今度は3版の静的解析結果をキーとして取得するが、ステップS109がYESとなることから、本処理を終了することになる。なお、ステップS107の登録の際には、同じ情報が重複して保存されないように、警告の種別と、変更前の版と、変更後の版についての情報を合わせて保存し、ステップS107で登録する際に同じ情報が既に登録されていたときには重複登録しないようにする。以上の処理により、静的解析結果に基づく各版バージョン間の差分の分析結果例えば図5aに示す修正データテーブル30が、静的解析DB3に格納されることになる。典型例としては、相対的に旧版において任意の警告規約違反があった箇所について、相対的に新版における該当箇所では警告なしとなった場合には、これら旧版と新版との差分情報旧版の版数と違反規約番号と違反箇所の行番号、新版の版数と違反箇所に対応する箇所上記該当箇所の行番号等が、修正データテーブル30に登録される。このように、典型例としては、任意の警告規約違反があった版とこの警告が解消された版とに関して、違反箇所/該当箇所の行番号や、警告の種別を示す情報等が修正データテーブル30に格納されることになる。変化要因評価結果入力部11は、上述した静的解析結果変化要因分析部7による分析結果修正データテーブル30に基づいて、例えば図6に示すような差分表示入力画面50を表示すると共に、当該画面50上で特定ユーザ熟練者等による任意の評価結果判定、説明の入力を受け付ける。変化要因評価結果入力部11は、例えば修正データテーブル30に新たなレコードが追加される毎に、この新規レコードの情報を用いて、例えば予め設定されている特定ユーザ熟練者等の端末のディスプレイに、例えば図6に示すような差分表示入力画面50を表示する。そして、特定ユーザ熟練者等に、任意の評価結果判定、説明を入力させる。勿論、これは一例であるが、基本的には、修正データテーブル30に格納される全てのレコードに関して、その判定39に場合によっては説明40も熟練者等による判定結果が格納されるようにすることが望ましい。それ故、未だ判定39に判定結果が格納されていないレコードに関しては、任意のときに当該レコード判定対象レコードというの情報を用いて上記差分表示入力画面50を表示させることになる。図5の差分表示入力画面50の例では、まず、画面50の最上部には、表示対象とするプログラムファイル名の表示領域51があるここではfileacが表示されている。これは、例えば上記判定対象レコードのファイル名33が表示されるものである。上記表示領域51の下の表示領域は、左と右に分割されていて、基本的には左側には旧版に係る情報、右側には新版に係る情報が表示される。尚、旧版とはテーブル30における修正前に相当し、新版は同修正後に相当する。上記左右どちらも、版数と、該当箇所プログラム文と、警告内容とから成る。すなわち、まず左側の表示領域には、旧版に関する版数52と該当箇所プログラム文53と警告内容54とが表示される。同様に、右側の表示領域には、新版に関する版数55と該当箇所プログラム文56と警告内容57とが表示される。これは、例えば、上記判定対象レコードの版数修正前37が上記版数52の表示領域に表示されると共に、版数修正後38が上記版数55の表示領域に表示される。同様に、上記判定対象レコードの行番号修正前34のプログラム文が上記該当箇所プログラム文53の表示領域に表示されると共に、行番号修正後35のプログラム文が上記該当箇所プログラム文56の表示領域に表示される。尚、これは、図6の例のように複数行のプログラム文が表示されるものであってもよい。すなわち、行番号修正前34や行番号修正後35の行だけでなく、その数行後までの複数行やその前後の複数行等も、表示されるものであってもよい。あるいは、該当箇所プログラム文53,56には、初期状態では行番号修正前34や行番号修正後35の行を中心として表示されるが、全プログラムがスクロール表示可能であるように表示されるものであってもよい。尚、これらの表示の際には、上記テーブル30だけでなく、対象プログラムファイルここではfileacの3.0版と3.1版も参照される。同様に、判定対象レコードの違反規約番号修正前31に対応する設計規約43が、警告内容54の表示領域に表示されると共に、違反規約番号修正後36に対応する設計規約43が、警告内容57の表示領域に表示される。つまり、これらの表示の際には、上記テーブル30だけでなく、上記テーブル41も参照される。上記判定対象レコードは、例えばユーザが次の警告ボタン61を操作する毎に順次切り換わる。これは、例えば一例としては、テーブル30において判定39が未判定である各レコードを、順次、上記判定対象レコードとする。あるいは、判定39が未判定であるレコードだけでなく、説明40が空欄NULLとなっているレコードも含めて、これらの各レコードを、順次、上記判定対象レコードとする。但し、この様な例に限らない。例えば、上記表示領域51にはユーザが自由に任意のプログラムファイル名を入力できるようにして、このプログラムに関する各レコードを、順次、上記判定対象レコードとするようにしてもよい。この様な例の場合、図示の例では表示領域51に設定されたファイルはfileacであるので、図5aのテーブル30の例では、1番目と2番目と3番目の3つのレコードが、次の警告ボタン61が操作される毎に、順次、判定対象レコードとなる。判定対象レコードが変わる毎に、新たな判定対象レコードの情報に基づいて、上記のように各表示領域52,53,54,55,56,57の表示を行うことになる。例えば、最初は1番目のレコードが判定対象レコードとなって上記各表示領域の表示が行われることになる。そして、この状態でユーザが次の警告ボタン61を操作すると、今度は2番目のレコードが判定対象レコードとなって上記各表示領域の表示が行われることになる。この状態で更にユーザが次の警告ボタン61を操作すると、今度は3番目のレコードが判定対象レコードとなって上記各表示領域の表示が行われることになる。但し、既に判定39と説明40の両方とも情報が格納されているレコードは、判定対象レコードとはしないように制御してもよい。尚、該当箇所プログラム文53、56の表示については、旧版と新版とで異なる部分が分かり易いように表示されるようにしてもよい。例えば、旧版と新版とで異なる部分については、灰色の背景色が塗られた状態で表示されている。これにより、プログラムの変更点がユーザに分かり易くなっている。また、警告内容54、57の表示部分については、プログラムの修正前後の警告内容違反した設計規約の内容、または警告なし規約違反無しが表示されているので、プログラムの修正に伴って警告内容が変化する様子が分かるようになっている。特に、修正後の警告内容57が警告なしとなっている場合には、該当箇所プログラム文53、56の表示内容を参照することで、どの様な修正を行ったことで警告が解消されたのかが、分かることになる。図5の画面50では、上記表示領域52~57の下側に、更に、判定の入力欄58と説明の入力欄59が設けられている。ここで、これらの入力欄58、59に任意のデータを入力できるのは、予め決められた特定のユーザ例えば熟練した作業者のみであるように制限することが望ましい。その為に、例えば上述したように、図5の画面50は、予め設定された特定ユーザ熟練者等の端末の画面12にのみ自動的に表示させるようにするが、この例に限らない。例えば、画面50自体は任意に表示可能であり、更に上記表示領域51には任意のユーザが任意のプログラムファイル名を入力することができ、このファイル名のプログラムに関して上記表示領域52~57の情報が表示されるようにしてもよい。但し、入力欄58、59への入力に関しては、例えばユーザIDを入力させることでこのユーザが上記特定ユーザであるか否かをチェックし、特定ユーザではない場合には入力を許可しないようにする。尚、勿論、特定ユーザのユーザIDは、予め登録されている。上記特定のユーザ例えば熟練した作業者は、上記表示領域52~57の表示内容を参照することで、プログラムの修正内容やその結果警告内容の変化;特に修正後に警告なしとなったか否かを確認する。そして、修正内容について評価し、評価結果を判定の入力欄58で入力する。尚、本例では、判定の入力欄58において所定のマーク▽マークを操作することで所定の評価結果選択肢が表示され、この中から任意の評価結果を選択する。選択肢は、3:良い、2:問題なし、1:悪いの3つであり、この中から任意の評価結果を選択することになる。尚、1:悪いとは、例えば修正を行っても警告が解消されない場合であるが、この例に限らず、修正によって警告が解消されても1:悪いと判定される場合に有り得る。すなわち、例えば上記従来の課題で説明した表面的には警告を受けないような形にできるが、本質的に問題を解決できるものではない場合等に対しては、1:悪いと評価される場合も有り得る。一方、表面的ではなく実質的に警告を解消させた修正に関しては、3:良いまたは2:問題なしと評価されることになる。また、説明の入力欄59には、任意の補足説明等が入力できるようになっており、具体例としては例えば図5aの上から3番目のレコードにおける説明40の欄に示す文章等があるが、勿論、この例に限らない上記特定のユーザが自由に所望の補足説明文章を入力すればよい。そして、ユーザが図示の登録ボタン60を操作すると、上記各入力欄58,59に入力された情報は、上記判定対象レコードにおける上記判定39、説明40の各フィールドに、それぞれ、格納される。尚、本例では表示していないが、これら入力欄58,59の入力情報が、どの特定ユーザ熟練した作業者により入力されたものであるのかを記録しても良い。上述したようにして作成された修正データテーブル30を用いて、例えば図7や図8に示す画面を表示させることができる。これにより、各ユーザ基本的には上記特定ユーザ以外のユーザ;特に熟練度が低いユーザ初心者等は、任意の警告設計規約違反に関して、特にその警告を表面的ではなく実質的に解消させた修正を、熟練者などによる評価によって知ることができ、その修正内容を参考にして的確な警告を実質的に解消させる修正を行うことができる。また、熟練者等によって更に補足説明が成されていた場合には、より的確な修正を行えるあるいは的確な修正が行える可能性が高まることになる。上記のように、本システムでは、例えば各ユーザの端末のディスプレイに、例えば図7や図8に示す画面を表示させることができるので、特に熟練者以外の各ユーザは、自己が作成したプログラムであって1以上の警告があったプログラムの修正に役立てることができる。すなわち、より的確な修正を手間/時間が掛かることなく行えるようになる。これについて、以下、図7や図8を参照しながら説明する。まず、静的解析警告指摘対応検索部9は、例えば図7に示すような検索画面70を表示し、修正データテーブル30を参照することで図示の検索結果表示領域73に検索結果を表示できる。図7の検索画面70では、初期状態では図示の検索結果表示領域73には何も表示されていない。初期状態では図示の設計規約指定領域71、検索ボタン72、内容表示ボタン74、終了ボタン75が表示される。設計規約指定領域71における所定マーク▽を操作すると、例えば上記規約データテーブル41の全てのレコードの設計規約43の内容が、一覧表示される不図示のドロップダウンメニューが表示される。ユーザが、この一覧のなかから所望の設計規約を選択すると、選択された設計規約に対応する規約番号41図示の例では規約番号=‘1’を用いて修正データテーブル30を検索することで、該当レコードここでは違反規約番号修正前31=‘1’であるレコードが全て抽出される。そして、全ての該当レコードが上記検索結果表示領域73に一覧表示される但し、予め任意に決められている所定のデータ項目のみが表示される。本例では、該当レコードのファイル名33、行番号修正前34、判定39、説明40の内容が、それぞれ、図7に示す検索結果表示領域73におけるファイル名73b、行番号73c、判定73d、説明73eに表示されることになるが、これは一例であり、この例に限らない。尚、図5aに示す例では全レコードが違反規約番号修正前31=‘1’であるので、全レコードが該当レコードとなり、図7の検索結果表示領域73に示すような表示が行われることになる。そして、ユーザは、マウス等を操作することで、上記検索結果表示領域73に一覧表示されるレコードのなかから任意のレコードを選択指定する。尚、図示の選択73aに三角矢印マークが表示されているレコードが、現在指定されているレコードである。そして、任意のレコードが選択指定された状態でユーザが図示の内容表示ボタン74を操作すると、選択指定されているレコードについての詳細情報を表示する画面図8の詳細表示画面80が表示される静的解析警告指摘対応検索部9が、画面80を表示する。図8の詳細表示画面80において、ファイル名81には上記選択指定されたレコードのファイル名33が表示される。また、ファイル名81の下側には、左と右それぞれに各種情報表示領域がある。左側には修正前に関する情報、右側には修正後に関する情報が表示される。すなわち、まず、上記選択指定されたレコードの版数修正前37が、図示の版数の表示領域82に表示されると共に、版数修正後38が図示の版数の表示領域85に表示される。同様に、選択指定されたレコードの行番号修正前34のプログラム文が、図示の該当箇所プログラム文の表示領域83に表示されると共に、行番号修正後35のプログラム文が図示の該当箇所プログラム文の表示領域86に表示される。尚、これは、図6の例と同様に、複数行のプログラム文が表示されるものであってもよく、また、これらの表示の際には、上記テーブル30だけでなく、対象プログラムファイルここではfileacの3.0版と3.1版も参照される。同様に、選択指定されたレコードの違反規約番号修正前31に対応する設計規約43が、警告内容の表示領域84に表示されると共に、違反規約番号修正後36に対応する設計規約43が、警告内容の表示領域87に表示される。尚、これらの表示の際には、上記テーブル30だけでなく、上記テーブル41も参照する。つまり、テーブル41から違反規約番号に該当するレコードその規約番号42が違反規約番号と同一であるレコードの設計規約43を取得して、これを表示することになる。尚、違反規約番号修正後36が-となっている場合には、例えば図示のように警告なしと表示する。更に、選択指定されたレコードの判定39が判定結果表示領域88に表示されると共に、説明40が補足説明表示領域89に表示される。上記のように詳細表示画面80を表示させることで、ユーザは、所望の警告に係る他者のプログラム文修正例修正前と修正後を、熟練した作業者等による評価結果と共に参照することができる。これにより、静的解析の結果、作成したプログラムに対して設計規約への違反を警告された作業者が、適切な修正方法が分からない場合にも、過去に行われた修正方法が熟練者の評価付き場合によっては更に説明付きで蓄積されて且つ容易に検索可能となっている本システムを用いれば、適切な修正方法を容易に見出し易くなる。ここで、図6の検索画面70は、例えば図3に示す警告箇所表示画面20からジャンプして表示させることもできる。そして、この場合には、上記設計規約指定領域71による指定と検索ボタン72の操作を行わなくても、最初から検索結果表示領域73に検索結果が表示された状態で表示させることができる。これについて以下、説明する。まず、上述した図3に関する説明で、ユーザが、プログラム表示領域21において任意の行を選択したうえで黒四角■の行修正候補の検索ボタン24を操作すると、現在選択されている行黒四角■の行の設計規約違反を解消する為に参考となる情報が得られる表示が行われる旨、説明した。当該参考となる情報が得られる表示が、上記図7、図8の表示である。上述したように、黒四角■の行のプログラム文が違反している設計規約は分かるので設計規約表示領域22に表示される、修正候補の検索ボタン24が操作された場合には、この違反している設計規約を、そのまま、上記設計規約指定領域71による指定と見做すと共に、検索ボタン72が操作されたものと見做して、上述した検索処理と検索結果に基づく検索結果表示領域73の表示処理を行う。尚、他の例としては、例えば警告箇所表示画面20上において、ユーザがマウス操作等によって設計規約表示領域22の部分を指定すると共に検索ボタン72を操作する場合でも、上記と同様に、検索画面70へジャンプして検索済みの状態で表示させることができる。尚、上記図6の画面50上の領域58,59に関して、もし熟練した作業者等による入力がなければ、テーブル30における判定39には-:未判定が格納され、説明40は空欄となる。なお、図7の画面70における検索方法に関して、図7には示していないが、例えば検索条件に判定のレベルや、ファイル名、日付などの条件を指定して、絞り込んで検索を行うようにすることも可能である。最後に、図9に、プログラム改善支援システム10のハードウェア構成例を示す。本例のプログラム改善支援システム10は、汎用的なコンピュータシステム上に構築することができる。これより、図9は、汎用的なコンピュータシステム一般的なパソコン、サーバ装置等のハードウェア構成例と見做すこともできる。図9に示すコンピュータ90は、演算装置91、主記憶装置92、ディスプレイ装置93、補助記憶装置94、入力装置95等を備えており、これらがバス96に接続されて相互に信号を送受信可能な構成となっている。プログラム改善支援システム10の上記各種処理機能を実現させるアプリケーションプログラムは、例えば予め補助記憶装置94ハードディスク等に記憶されている。実行時には、このプログラムが補助記憶装置94から主記憶装置92メモリ等にロードされ、演算装置91CPU/MPU等上で実行されることにより、上記各種処理機能を実現させることができる。すなわち、上述したプログラム登録部1、静的解析実行部4、変更差分抽出部6、静的解析結果変化要因分析部7、静的解析警告指摘箇所抽出部8、静的解析警告指摘対応検索部9、変化要因評価結果入力部11等の各種処理機能を実現させることができる。また、上述した構成管理DBデータベース2、設計規約DBデータベース5、静的解析DBデータベース3等の各種データベースは、例えば補助記憶装置94ハードディスク等に記憶されるものであってよいが、この例に限らない。尚、入力装置95は例えばキーボード、マウス等である。以上説明したように、本例のプログラム改善支援システム10によれば、プログラムを作成した後に静的解析を行うシステムにおいて、ユーザが静的解析結果に応じてプログラムを修正する際に設計規約違反部分の修正、この設計規約違反に対する過去の他者による修正結果修正内容、修正後に警告が解消されたか否か等を、熟練者等の評価/説明付きで参照することができる。これにより、ユーザは、より具体的に修正方法を知ったり、より適切な修正方法を知ることができるようになるため、プログラムの設計規約違反部分の修正を、効率的高品質に行うことができるようになる。本システムを活用することにより、より高品質のプログラムを効率的に作成することができるようになる。"