(57)【要約】【課題】  プログラムの編集，改造，保守等を容易に行えるようにする。【解決手段】  ソースプログラムの内容を画面１１に表示すると共に該ソースプログラムに対応するモジュール関連図であって仮引数名が併記されたモジュール名を呼び出し元から呼び出し先へ向かって矢印で結んだモジュール関連図を画面１２に表示するソース解析支援において、画面に表示されている前記ソースプログラムの編集操作（Ａ）が行われたとき、該編集操作を反映させた前記モジュール関連図を画面１２に表示し、前記モジュール関連図の編集操作が行われたときは、該編集操作を反映させた前記ソースプログラムを画面１１に表示する。ソースプログラム，モジュール関連図の一方の編集操作に基づいて双方向に両方を連動して変更するため、プログラムの編集，改造，保守等が容易となる。【選択図】  図２
2006277206.tif 000002
【特許請求の範囲】
【請求項１】
ソースプログラムの内容を画面に表示すると共に該ソースプログラムに対応するモジュール関連図であって仮引数名が併記されたモジュール名を呼び出し元から呼び出し先へ向かって矢印で結んだモジュール関連図を画面に表示するソース解析支援方法において、画面に表示されている前記ソースプログラムの編集操作が行われたとき該編集操作を反映させた前記モジュール関連図を画面表示し前記モジュール関連図の編集操作が行われたとき該編集操作を反映させた前記ソースプログラムを画面表示することを特徴とするソース解析支援方法。
【請求項２】
画面に表示されている前記ソースプログラムまたは前記モジュール関連図の一方で「モジュール」「引数」「外部変数」のいずれかが選択物として選択される前記編集操作が行われたとき、該ソースプログラムまたは該モジュール関連図の他方で、前記選択物の定義部分またはモジュール間の引数結合情報または特定の外部変数を共通使用するモジュール情報を図式的に画面表示することを特徴とする請求項１に記載のソース解析支援方法。
【請求項３】
所定操作が行われたとき、前記ソースプログラムの画面表示を、前記編集操作が行われる前の画面表示に切り換えることを特徴とする請求項１または請求項２に記載のソース解析支援方法。
【請求項４】
ソースプログラムの内容を画面に表示すると共に該ソースプログラムに対応するモジュール関連図であって仮引数名が併記されたモジュール名を呼び出し元から呼び出し先へ向かって矢印で結んだモジュール関連図を画面に表示するソース解析支援装置において、画面に表示されている前記ソースプログラムの編集操作が行われたとき該編集操作を反映させた前記モジュール関連図を画面表示させ前記モジュール関連図の編集操作が行われたとき該編集操作を反映させた前記ソースプログラムを画面表示させる連動手段を備えることを特徴とするソース解析支援装置。
【請求項５】
前記連動手段は、画面に表示されている前記ソースプログラムまたは前記モジュール関連図の一方で「モジュール」「引数」「外部変数」のいずれかが選択物として選択される前記編集操作が行われたとき、該ソースプログラムまたは該モジュール関連図の他方で、前記選択物の定義部分またはモジュール間の引数結合情報または特定の外部変数を共通使用するモジュール情報を図式的に画面表示させることを特徴とする請求項４に記載のソース解析支援装置。
【請求項６】
所定操作が行われたとき、前記ソースプログラムの画面表示を、前記編集操作が行われる前の画面表示に切り換える切り換え手段を備えることを特徴とする請求項４または請求項５に記載のソース解析支援装置。
【請求項７】
情報処理装置に、ソースプログラムの内容を画面に表示する第１表示ステップと、該ソースプログラムに対応するモジュール関連図であって仮引数名が併記されたモジュール名を呼び出し元から呼び出し先へ向かって矢印で結んだモジュール関連図を画面に表示する第２表示ステップとを備えるソース解析支援プログラムにおいて、画面に表示されている前記ソースプログラムの編集操作が行われたとき該編集操作を反映させた前記モジュール関連図を画面表示し前記モジュール関連図の編集操作が行われたとき該編集操作を反映させた前記ソースプログラムを画面表示する連動変更処理ステップとを実行させることを特徴とするソース解析支援プログラム。
【請求項８】
前記連動変更処理ステップは、画面に表示されている前記ソースプログラムまたは前記モジュール関連図の一方で「モジュール」「引数」「外部変数」のいずれかが選択物として選択される前記編集操作が行われたとき、該ソースプログラムまたは該モジュール関連図の他方で、前記選択物の定義部分またはモジュール間の引数結合情報または特定の外部変数を共通使用するモジュール情報を図式的に画面表示することを特徴とする請求項７に記載のソース解析支援プログラム。
【請求項９】
所定操作が行われたとき、前記ソースプログラムの画面表示を、前記編集操作が行われる前の画面表示に切り換える切替処理ステップを前記情報処理装置に実行させることを特徴とする請求項７または請求項８に記載のソース解析支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はソース解析支援方法及びその装置並びにソース解析支援プログラムに関し、特に、ソース解析作業や編集作業を効率的に行うことができプログラムの開発，改造，保守作業の生産性向上と品質向上を図ることができるソース解析支援方法及びその装置並びにソース解析支援プログラムに関する。
【背景技術】
【０００２】
プログラム解析に関しては従来から多くの提案がなされており、例えば下記特許文献１に記載されている従来装置は、ソースファイルと、ソースファイル解析手段と、モジュール構成図作成手段と、コネクタ図形作成手段とを備え、解析対象プログラムのモジュール構成図を自動生成する様になっている。
【０００３】
【特許文献１】特開平１１―１１０１９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来装置によって生成されたモジュール構成図は、モジュール間の呼び出し関係を示すだけであり、プログラム解析作業において重要な情報となるモジュール間の引数結合や、特定の外部変数を共通使用するモジュール、モジュール間の呼び出し関係を、同時に且つ図式的に表示することができないという問題がある。
【０００５】
プログラムのモジュール構成図は、プログラムの開発、改造、保守などに利用されるが、従来装置はこれら作業を行う手段を有しておらず、従って、モジュール構成図と連動して効率的にこれら作業を実施することができない。
【０００６】
本発明の目的は、モジュール及びモジュール間で使用される変数の包括的な解析作業や編集作業を効率的に行うことができるソース解析支援方法及びその装置並びにソース解析支援プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明のソース解析支援方法及びその装置並びにソース解析支援プログラムは、ソースプログラムの内容を画面に表示すると共に該ソースプログラムに対応するモジュール関連図であって仮引数名が併記されたモジュール名を呼び出し元から呼び出し先へ向かって矢印で結んだモジュール関連図を画面に表示するソース解析支援において、画面に表示されている前記ソースプログラムの編集操作が行われたとき該編集操作を反映させた前記モジュール関連図を画面表示し前記モジュール関連図の編集操作が行われたとき該編集操作を反映させた前記ソースプログラムを画面表示することを特徴とする。
【０００８】
この構成により、ソースプログラムの画面表示とモジュール関連図の画面表示とが、編集操作に基づいて双方向に連動して変更されるため、プログラムの編集，改造，保守等が容易となる。
【０００９】
本発明のソース解析支援方法及びその装置並びにソース解析支援プログラムは、画面に表示されている前記ソースプログラムまたは前記モジュール関連図の一方で「モジュール」「引数」「外部変数」のいずれかが選択物として選択される前記編集操作が行われたとき、該ソースプログラムまたは該モジュール関連図の他方で、前記選択物の定義部分またはモジュール間の引数結合情報または特定の外部変数を共通使用するモジュール情報を図式的に画面表示することを特徴とする。
【００１０】
この構成により、どのモジュールをどの仮引数に注目して調べる必要があるかを瞬時に把握することができ、プログラムの編集，改造，保守等が更に容易となる。
【００１１】
本発明のソース解析支援方法及びその装置並びにソース解析支援プログラムは、所定操作が行われたとき、前記ソースプログラムの画面表示を、前記編集操作が行われる前の画面表示に切り換えることを特徴とする。
【００１２】
この構成により、編集操作の前後の表示内容を比較することが容易となり、プログラムの解析作業を効率的に行うことが可能となり、プログラムの編集，改造，保守等が更に容易となる。
【発明の効果】
【００１３】
本発明によれば、呼出関係が複雑で引数を多く含むプログラムであっても、解析作業を効率的に行うことが可能となり、プログラムの編集，改造，保守等が容易となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の一実施形態について、図面を参照して説明する。
【００１５】
（第１の実施形態）
図１は、本発明の第１の実施形態に係るソース解析支援装置の構成図である。本実施形態に係るソース解析支援装置は表示画面等を備える情報処理装置であり、ブラウザエディタ１と、解析検索処理装置２と、記憶装置３とから構成される。
【００１６】
ブラウザエディタ１は、ソース表示部１１と、モジュール関連図表示部１２とから構成される。ソース表示部１１は、後述の図２に示す様に、解析，編集中のソースプログラムを表示し、また、「モジュール」「引数」「外部変数」などの選択操作によって切り替わったソースプログラムの表示内容を、元の表示内容に戻す機能を提供する表示切替ボタン１１ａを有する。
【００１７】
モジュール関連図表示部１２は、後述の図２に示す様に、「モジュール関連図」を画面に表示すると共に、この画面の上隅に「選択物表示部」１２ａを有する。モジュール関連図とは、「仮引数」名が併記されたモジュール名を、呼び出し元から呼び出し先へ向かって矢印で結んだ図である。選択物とは、最後に選択された「モジュール」、「引数」または「外部変数」の名前と型である。
【００１８】
ソース表示部１１とモジュール関連図表示部１２とは、一方の表示部において「モジュール」、「引数」、または「外部変数」などを選択操作することにより、もう一方の表示部の表示内容を双方向に連動して変える仕組みになっている。
【００１９】
解析検索処理装置２は、ソースファイルを読み込み、「モジュール」「引数」及び「外部変数」に対して解析を行うソース解析部２１と、ソース解析情報を基にモジュール関連図を生成するモジュール関連図生成部２２と、ユーザが選択する「モジュール」「引数」「外部変数」の関連情報をソース解析情報から検索し前記双方向の連動変更を表示部１１，１２に行わせるソース解析情報検索部２３とを備える。
【００２０】
記憶装置３は、ソースファイルが格納されるソースファイル記憶部３１と、ソース解析部２１によるソースプログラムの解析結果を格納するモジュール解析情報記憶部３２と、モジュール関連図生成部２２によって生成されるモジュール関連図を格納するモジュール関連図記憶部３３とを備える。
【００２１】
図３は、本実施形態に係るソース解析支援装置で実行されるソース解析支援プログラムの動作手順を示すフローチャートである。まず、ステップＦ１において、ソース解析部２１はソースファイル記憶部３１に格納されているソースファイルを読み込み、「モジュール」、「引数」及び「外部変数」に対して解析を行い、その解析結果をソース解析情報記憶部３２に格納する。
【００２２】
次のステップＦ２で、モジュール関連図生成部２２は、ソース解析情報記憶部３２の解析情報に基づき、「仮引数」名が併記されたモジュール名を、呼び出し元から呼び出し先へ向かって矢印で結んだモジュール関連図を作成し、モジュール関連図記憶部３３に格納する。
【００２３】
このとき、ユーザは、ブラウザエディタ１を用いてソースプログラムの解析、編集を行うことができる（ステップＦ３）。ステップＦ３はステップＦ４，Ｆ５，Ｆ６と続く処理ループのチェックステップになっており、ソースファイルを保存するか、または作業終了の場合はこの処理ループを抜け、ステップＦ７へ進む。ユーザが、ソース表示部１１の表示内容の中から「引数」または「外部変数」を選択した場合には、ステップＦ４の判定結果が肯定Ｙで且つステップＦ５１の判定結果が肯定Ｙとなり、ステップＦ６１に進む。
【００２４】
ステップＦ６１では、ソース解析情報検索部２３は、ソース解析情報記憶部３２からその「引数」または「外部変数」に関する情報を検索し、モジュール関連図表示部１２はその検索結果に基づいて、「引数」または「外部変数」が選択された「モジュール」を表示部１２の中央に強調表示し、その「モジュール」のみ、型と「仮引数」の型とを表示する。さらにモジュール関連図表示部１２は、その検索結果に基づいて、選択された「引数」の実体が渡される「モジュール」及びその実体と結合する「仮引数」、または選択された「外部変数」を共通利用する「モジュール」を強調表示し、選択された「引数」または「外部変数」の名前と型とを選択物表示部１２ａに表示する。
【００２５】
以下、このステップＦ６１の具体例を図２を参照して説明する。図２に示すソース表示部１１の表示内容の中から、ユーザが矢印Ａで指されている仮引数「ｋｃ」をポインティングデバイス等のカーソルを用いて選択すると、ソース解析情報検索部２３はソース解析情報記憶部３２から仮引数ｋｃに関する情報を検索し、モジュール関連図表示部１２はその検索結果に基づいて、図示の例では、仮引数ｋｃの実体が渡されるモジュールＩ，モジュールＮ，モジュールＯと、仮引数ｋｃの実体と結合するモジュールＩの仮引数ｉｂ，モジュールＮの仮引数ｎｂ，モジュールＯの仮引数ｏａと、ｋｃ自身とを、例えば赤色で強調表示する。
【００２６】
さらに仮引数ｋｃが選択されたモジュールＫを表示部１２の中央に、例えば青色で強調表示し、モジュールＫのみ、そのモジュールの型と、その仮引数ｋａ，ｋｂ，ｋｃ，ｋｄの型とをそれぞれ表示する。加えて、選択物表示部１２ａに、選択された仮引数ｋｃの名前（図示の例ではｋｃ）と型（図示の例ではｌｏｎｇ）を表示する。
【００２７】
ユーザが、ソース表示部１１の表示内容の中から、ソースプログラム中の「モジュール」を選択した場合には、ステップＦ４の判定結果が肯定Ｙで且つステップＦ５１の判定結果が否定ＮとなってステップＦ６２に進む。
【００２８】
ステップＦ６２では、ソース解析情報検索部２３は、ソース解析情報記憶部３２からそのモジュールに関する情報を検索する。そして、その検索結果に基づいて、ソース表示部１１は適切なソースファイルを開き、選択されたモジュールの定義部分を表示する。モジュール関連図表示部１２はそのモジュールを表示部１２の中央に強調表示し、そのモジュールのみ、型と仮引数の型とを表示する。加えて、選択されたモジュールの名前と型とを選択物表示部１２ａに表示する。
【００２９】
ここで、ユーザがモジュール表示部１１の表示切替ボタン１１ａを選択した場合には、「モジュール」「引数」「外部変数」などの選択によって切り替わったソース表示部１１におけるソースプログラムの表示内容を、元の表示内容に戻す。尚、この表示切替ボタン１１ａが押されたときに実行される表示切替処理の処理ステップは、図３では図示を省略している。
【００３０】
ユーザがモジュール関連図表示部１２において「仮引数」を選択した場合には、ステップＦ４の判定結果が否定ＮとなりステップＦ５２の判定結果が肯定ＹとなってステップＦ６３に進む。
【００３１】
ステップＦ６３では、ソース解析情報検索部２３は、ソース解析情報記憶部３２からその仮引数に関する情報を検索する。この検索結果に基づいて、ソース表示部１１は仮引数が選択されたモジュールの定義部分を表示し、モジュール関連図表示部１２は仮引数が選択されたモジュールを表示部の中央に強調表示し、そのモジュールのみ、型と仮引数の型を表示する。また、選択された仮引数の実体が渡されるモジュールと、仮引数の実体と結合する仮引数とをそれぞれ強調表示し、選択された仮引数の名前と型を選択物表示部１２ａに表示する。
【００３２】
ユーザがモジュール関連図表示部１２の表示内容から「モジュール」を選択した場合には、ステップＦ４の判定結果が否定ＮとなりステップＦ５２の判定結果が否定ＮとなってステップＦ６４に進む。
【００３３】
ステップＦ６４では、ソース表示部１１は、ソース解析情報検索部２３によるソース解析情報記憶部３２に対する検索結果に基づいて、適切なソースファイルを開き、選択されたモジュールの定義部分を表示する。モジュール関連図表示部１２は、選択されたモジュールを表示部１２の中央に強調表示し、そのモジュールのみ、型と仮引数の型とを表示する。加えて、選択物表示部１２ａに、選択されたモジュールの名前と型とを表示する。
【００３４】
モジュール関連図表示部１２において、選択物表示部１２ａが選択された場合には、ソース解析情報検索部２３は、そのとき選択物表示部１２ａに表示されている「モジュール」、「引数」または「外部変数」に関連する情報をソース情報解析記憶部３２から検索する。ソース表示部１１は、その検索結果に基づいて、適切なソースファイルを開き、そのとき選択物表示部１２ａに表示されている「モジュール」「引数」または「外部変数」の定義部分を表示する。
【００３５】
ステップＦ６１，Ｆ６２，Ｆ６３，Ｆ６４のいずれかの後には、ステップＦ７に進む。ソースファイルの更新・保存が行われ、かつ作業を継続する場合にはステップＦ１に戻って上記の各ステップを再度行う。作業終了の場合には、この図３の一連の処理を終了する。これにより、モジュール関連図は自動更新され、新たに追加したモジュール、変更した呼び出しモジュール、引数結合、新たに定義された外部変数などがモジュール関連図に反映され、この結果、ユーザは更新したソースファイルに対して上述の機能を動的に利用することが可能になる。
【００３６】
（第２の実施形態）
図４は、本発明の第２の実施形態に係るソース解析支援装置の構成図である。本実施形態のソース解析支援装置は、第１の実施形態の図１に示すソース表示部１１が１つであるのに対して、ソース表示部１１１〜１１Ｎを複数個保有する点が異なり、他の構成は第１の実施形態と同じである。
【００３７】
本実施形態では、ソース表示部１１１〜１１Ｎが複数存在するため、同時に複数のソースファイルを解析することが可能となり、ソース解析の作業効率が更に向上する効果を有する。
【００３８】
次に、本実施形態のソース解析支援装置の動作を説明する。ソース表示部１１１〜１１Ｎのうちの任意のソース表示部において「モジュール」「引数」「外部変数」のいずれかをユーザが選択すると、モジュール関連図表示部１２の表示内容がこの選択に連動して変化する。即ち、ソース表示部とモジュール関連図表示部１２とが１対１に決まる。以後、ソース表示部及びモジュール関連図表示部１２を有するブラウザエディタ１と、解析検索処理装置２と、記憶装置３との間の処理内容は、第１の実施形態と同様となるので、その説明は省略する。
【００３９】
また同様に、本実施形態におけるモジュール関連図表示部１２において、「モジュール」「仮引数」または「選択物表示部」のいずれかをユーザが選択すれば、この選択に連動して表示内容を変えるソース表示部も同時に選択することになる。これにより、ブラウザエディタ１と解析検索処理装置２と記憶装置３との間の処理内容は第１の実施形態と同様になる。しかし、本実施形態では、ソース表示部が複数存在するため、ブラウザエディタ１と解析検索処理装置２と記憶装置３との間で送受信される情報に、そのソース表示部を一意に指定する情報を追加して行い、ソース情報解析検索部２３は、その追加されたソース表示部情報を基に、検索情報の送り先であるソース表示部を決定する。
【００４０】
以上述べた各実施形態によれば、解析，編集中のソースプログラムを表示する表示部と、仮引数名が併記されたモジュール名を呼び出し元から呼び出し先へ向かって矢印で結んだモジュール関連図を表示する表示部とを有し、一方の表示部で「モジュール」「引数」または「外部変数」などを選択すれば、他方の表示部にそれらの定義部分やモジュール間の引数結合情報、または特定の外部変数を共通使用するモジュール情報を、同時に且つ図式的に表示する構成としたため、モジュール、及びモジュール間で利用される変数の包括的、効率的な解析作業、編集作業が実現でき、プログラムの開発、改造、保守作業の生産性と品質の向上を図ることが可能となる。
【産業上の利用可能性】
【００４１】
本発明によれば、プログラムのモジュール及びモジュール間で利用される変数の包括的，効率的な解析作業や編集作業が可能になるため、プログラムの開発，改造，保守作業を行うソース解析支援装置等として有用である。
【図面の簡単な説明】
【００４２】
【図１】本発明の第１の実施形態に係るソース解析支援装置の構成図である。
【図２】図１に示すソース表示部とモジュール関連図表示部の具体例を示す図である。
【図３】図１に示すソース解析支援装置で実行するソース解析支援プログラムの処理手順を示すフローチャートである。
【図４】本発明の第２の実施形態に係るソース解析支援装置の構成図である。
【符号の説明】
【００４３】
１  ブラウザエディタ
２  解析検索処理装置
３  記憶装置
１１，１１１〜１１Ｎ  ソース表示部
１２  モジュール関連図表示部
２１  ソース解析部
２２  モジュール関連図生成部
２３  ソース解析情報検索部
３１  ソースファイル記憶部
３２  ソース解析情報記憶部
３３  モジュール関連図記憶部
【図１】
2006277206.tif 000003
【図２】
2006277206.tif 000004
【図３】
2006277206.tif 000005
【図４】
2006277206.tif 000006