(57)【特許請求の範囲】
【請求項１】
プログラムの構造に基づく所定の区分パターンごとにファイルへのアクセスパターンを定義したパターン別アクセス定義情報と、
対象プログラムに含まれる処理フローにおける前記ファイルへのアクセスパターンと、前記パターン別アクセス定義情報とに基づいて、前記処理フローが区分される前記区分パターンを推定するルートパターン推定部と、
を備え、
前記区分パターンは、業務処理に係るプログラムを、処理種別を示すルート、処理手順を示すステージ、処理単位を示すユニットに階層化して開発するＲＳＵ開発手法において、前記業務処理に係るプログラムを、その構造に基づいて区分するためのルートパターンである、
パターン推定装置。
【請求項２】
前記パターン別アクセス定義情報は、前記ファイルへのアクセスパターンとして、トランザクションファイルへの参照の有無および更新の有無、マスタファイルへの更新の有無を示す情報を、前記区分パターン別に保持する、
請求項１に記載のパターン推定装置。
【請求項３】
前記処理フローに含まれる前記ファイルへのアクセスパターンを解析するアクセスパターン解析部、
をさらに備える請求項１または請求項２に記載のパターン推定装置。
【請求項４】
前記対象プログラムに含まれる処理フローを抽出するフロー抽出部、をさらに備え、
前記アクセスパターン解析部は、前記処理フローごとに前記ファイルへのアクセスパターンを解析する、
請求項３に記載のパターン推定装置。
【請求項５】
プログラムの構造に基づく所定の区分パターンごとにファイルへのアクセスパターンを定義したパターン別アクセス定義情報と、対象プログラムに含まれる処理フローにおける前記ファイルへのアクセスパターンとに基づいて、前記処理フローが区分される前記区分パターンを推定し、
前記区分パターンは、業務処理に係るプログラムを、処理種別を示すルート、処理手順を示すステージ、処理単位を示すユニットに階層化して開発するＲＳＵ開発手法において、前記業務処理に係るプログラムを、その構造に基づいて区分するためのルートパターンである、
パターン推定方法。
【請求項６】
コンピュータに、
プログラムの構造に基づく所定の区分パターンごとにファイルへのアクセスパターンを定義したパターン別アクセス定義情報と、対象プログラムに含まれる処理フローにおける前記ファイルへのアクセスパターンとに基づいて、前記処理フローが区分される前記区分パターンを推定し、
前記区分パターンは、業務処理に係るプログラムを、処理種別を示すルート、処理手順を示すステージ、処理単位を示すユニットに階層化して開発するＲＳＵ開発手法において、前記業務処理に係るプログラムを、その構造に基づいて区分するためのルートパターンである処理、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム構造のパターンを推定するパターン推定装置、パターン推定方法及びプログラムに関する。
【背景技術】
【０００２】
近年、クラウド技術の浸透により、アプリケーションの開発から提供までが迅速になってきている。これに伴い、需要の変化に柔軟かつ高速に対応できるアーキテクチャとして、疎結合なサービスの集合体で実現するマイクロサービスが注目されており、モノリシックな既存プログラムをマイクロサービス化する動きが活発化している。
【０００３】
ＲＳＵ（Route、Stage、Unit）は、金融機関における大規模開発で適用されている開発方法論であり、基幹系システムの開発手法として確立されている（例えば、特許文献１）。ＲＳＵでは、プログラムをルート（処理工程）、ステージ（処理手順）、ユニット（処理ロジック）に階層化して開発する。ＲＳＵを用いると、業務の熟知が必要な階層と実装の熟知が必要な階層を分離することができ、保守性の高いプログラムの大量開発が可能になる。さらに、ＲＳＵを採用して、レガシーシステムを再構築することにより、マイクロサービス化が可能になる。
【０００４】
特許文献１には、業務処理を行うプログラムを処理種別という単位で大きく切り分け、業務処理手順の構造を明確にすることにより、保守作業の影響範囲の予測を容易し、保守性および業務処理の迅速処理を可能とする技術が開示されている。
特許文献２には、事務処理用のソフトウェアの内容の理解を助けることを目的として、ファイルへの入出力命令を検出することにより、プログラムの処理パターンを推定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４４８７８９１号公報
【特許文献２】特開平２−１１２０２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＲＳＵの階層構造に則っていない既存のプログラムをＲＳＵ化するためには、既存プログラムに含まれる複数の処理を、プログラムの構造に基づくルートパターンと呼ばれる分類に当てはめて区分する必要がある。既存プログラムをルートパターンに区分するためには、そのプログラムの処理を詳細に理解していなければならず、この分類作業は、処理に精通した者が手作業で行うことが一般的であるが、既存プログラムをＲＳＵで定義されたルートパターンに効率よく区分する方法が求められている。
【０００７】
この発明は、上述の課題を解決するパターン推定装置、パターン推定方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
本発明の一態様によれば、パターン推定装置は、プログラムの構造に基づく所定の区分パターンごとにファイルへのアクセスパターンを定義したパターン別アクセス定義情報と、対象プログラムに含まれる処理フローにおける前記ファイルへのアクセスパターンと、前記パターン別アクセス定義情報とに基づいて、前記処理フローが区分される前記区分パターンを推定するルートパターン推定部と、を備え、前記区分パターンは、業務処理に係るプログラムを、処理種別を示すルート、処理手順を示すステージ、処理単位を示すユニットに階層化して開発するＲＳＵ開発手法において、前記業務処理に係るプログラムを、その構造に基づいて区分するためのルートパターンである。
【０００９】
また、本発明の他の一態様は、プログラムの構造に基づく所定の区分パターンごとにファイルへのアクセスパターンを定義したパターン別アクセス定義情報と、対象プログラムに含まれる処理フローにおける前記ファイルへのアクセスパターンとに基づいて、前記処理フロー区分される前記区分パターンを推定し、前記区分パターンは、業務処理に係るプログラムを、処理種別を示すルート、処理手順を示すステージ、処理単位を示すユニットに階層化して開発するＲＳＵ開発手法において、前記業務処理に係るプログラムを、その構造に基づいて区分するためのルートパターンであるパターン推定処理である。
【００１０】
また、本発明の他の一態様によれば、プログラムは、コンピュータに、プログラムの構造に基づく所定の区分パターンごとにファイルへのアクセスパターンを定義したパターン別アクセス定義情報と、対象プログラムに含まれる処理フローにおける前記ファイルへのアクセスパターンとに基づいて、前記処理フローが区分される前記区分パターンを推定し、前記区分パターンは、業務処理に係るプログラムを、処理種別を示すルート、処理手順を示すステージ、処理単位を示すユニットに階層化して開発するＲＳＵ開発手法において、前記業務処理に係るプログラムを、その構造に基づいて区分するためのルートパターンである処理、を実行させる。
【発明の効果】
【００１１】
本発明によれば、既存プログラムについて、そのプログラムの構造に基づく区分パターンを推定することができる。
【図面の簡単な説明】
【００１２】
【図１】ＲＳＵの階層構造の一例を示す図である。
【図２】ルートパターンの一例を示す図である。
【図３】ルートパターン別に定義されたアクセスパターンの一例を示す図である。
【図４】アクセスパターンに対応するルートパターンの一例を示す図である。
【図５】パターン推定装置の機能ブロック図である。
【図６】パターン推定装置の処理の一例を示すフローチャートである。
【図７】プログラムの呼び出し関係の一例を示す図である。
【図８】図７のプログラムの呼び出し関係に基づく処理フローの一例を示す図である。
【図９】図８に示す処理フローごとのアクセスパターンおよびルートパターンの一例を示す図である。
【図１０】処理フローの抽出処理の一例を示すフローチャートである。
【図１１】アクセスパターンの解析処理の一例を示すフローチャートである。
【図１２】ルートパターンの推定処理の一例を示すフローチャートである。
【図１３】パターン推定装置の最小構成を示す図である。
【図１４】パターン推定装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１３】
＜実施形態＞
以下、一実施形態に係るパターン推定装置について図１〜図１４を参照して説明する。
ＲＳＵでは、プログラムの構造をルート（Route）、ステージ（Stage）、ユニット（Unit）に階層化する。ルートは最上位の階層、ステージはルートの下の階層、ユニットは最下位の階層である。ルートは、業務の処理目的や処理種別の観点から定義される単位である。１つのルートは、１つの処理工程を示し、そのルート配下のステージ及びステージの実行順などが定義される。ステージは、ルートが目的とする業務処理を実現するための１つ又は複数の処理手順のことである。１つのステージは、１つの処理手順を示し、そのステージ配下のユニット及びユニットの実行順などが定義される。また、ステージは、ルートとユニットを分離する役割を果たす。ユニットは、ルートやステージに依存しない独立した処理単位であり、汎用的な処理ロジックが記述される。
【００１４】
図１に、ＲＳＵの階層構造の一例を示す。図１の例では、「買付注文」の処理工程（ルート）が、「パラメータチェック処理」、「取込処理」、「マスタリード処理」、「業務チェック処理」、「更新処理」、「画面項目編集処理」の各処理手順（ステージ）によって構成されることを示している。また、各ステージの処理が１つ又は複数の処理ロジック（ユニット）の組合せによって構成されることを示している。例えば、「パラメータチェック処理」は、「単項目チェック処理」、「項目相関チェック処理」の２つのユニットから構成される。
このように階層化して、ユニット、ステージ、ルートの各階層に相当するプログラムを開発することで、保守性の高いプログラムが短期間で開発できることが知られている。
【００１５】
さらにＲＳＵでは、業務処理は、その業務処理に割り当てられるルートおよびステージが示すプログラムの構造に基づいて、予め定義した区分パターンに集約される。この区分パターンを、ルートパターンと呼ぶ。図２にルートパターンの例を示す。図２の例では、ルートおよびステージを、「登録」、「取消／訂正」、「一覧照会」、「単票照会」、「初期表示」、「ダウンロード」、「内部プロセス」の７つのルートパターンに集約し、プログラムを構築する。例えば、図１の「買付注文処理」は、「取消／訂正」のルートパターンに集約される。
【００１６】
ＲＳＵの階層構造に則っていない既存のプログラムをＲＳＵ化するためには、プログラムに含まれる複数の業務処理を、ルートパターンに分類する必要がある。ＲＳＵでは、ルートパターンごとに、ファイルへのアクセス方法が定義されている。ここで、ファイルには、トランザクションファイル又はトランザクションＤＢ（ＤＢはデータベース）（以下、総称してトランザクションファイルと呼ぶ。）、マスタファイル又はマスタＤＢ（以下、総称してマスタファイルと呼ぶ。）が存在する。アクセス方法には、参照と更新が存在する。ルートパターンごとに、アクセス先ファイルとアクセス方法の組合せが定義されている。アクセス先ファイルとアクセス方法の組合せをアクセスパターンと呼ぶ。図３に、ルートパターンごとに定義されたアクセスパターンの一例を示す。例えば、「買付注文処理」のルートパターン「取消／訂正」について定義されたアクセスパターンでは、トランザクションファイルへの更新が必須、トランザクションファイルへの参照とマスタファイルの更新が許可される。例えば、ルートパターン「一覧照会」について定義されたアクセスパターンでは、トランザクションファイルへの更新とマスタファイルの更新は許可されず、トランザクションファイルへの参照が必須とされる。本実施形態では、ＲＳＵ化するプログラムのアクセスパターンを解析し、アクセスパターンから、そのプログラムのルートパターンを推定する。
【００１７】
次に図４を参照する。図４は、アクセスパターンに対応するルートパターンの一例を示す図である。図４の表は、図３の表に基づいて、アクセスパターンからルートパターンを逆引きできるようにしたものである。例えば、図３の「ダウンロード」について、アクセスパターンは、トランザクションファイルへの更新と参照を許可せず、マスタファイルの更新を許可する内容となっている。その為、図４の逆引き表では、トランザクションファイルへの更新と参照が無く、マスタファイルの更新が有る場合および無い場合に対して、ルートパターン「ダウンロード」が対応付けられている。例えば、図３の「登録」のアクセスパターンは、トランザクションファイルへの更新が必須、トランザクションファイルへの参照は許可せず、マスタファイルの更新を許可する内容となっている。その為、図４の逆引き表では、トランザクションファイルへの更新が有り、トランザクションファイルへの参照が無く、マスタファイルの更新が有る場合および無い場合に対して、ルートパターン「登録」が対応付けられている。図４に例示する表をパターン別アクセス定義情報と呼ぶ。
【００１８】
図４の表を用いると、例えば、ＲＳＵ化するプログラムのアクセスパターンが、トランザクションファイルへの更新無し、トランザクションファイルへの参照無し、マスタファイルへの更新有りの場合、ルートパターンは「ダウンロード」であると推定される。
また、ＲＳＵ化するプログラムのアクセスパターンが、トランザクションファイルへの更新有り、トランザクションファイルへの参照無し、マスタファイルへの更新有りの場合、開発対象プログラムのルートパターンは「登録」、又は「取消／訂正」、又は「内部プロセス」と推定される。
【００１９】
（パターン推定装置１０の構成）
次に本実施形態に係るパターン推定装置１０について説明する。
図５は、パターン推定装置１０の機能ブロック図である。パターン推定装置１０は、処理対象のプログラムαを取得して、プログラムαのルートパターンを推定し、推定したルートパターンの候補の一覧を出力する。図示するようにパターン推定装置１０は、フロー抽出部１１と、アクセスパターン解析部１２と、ルートパターン推定部１３とを備える。
フロー抽出部１１は、プログラムαに含まれる処理フローを抽出する。
アクセスパターン解析部１２は、フロー抽出部１１が抽出した処理フローごとにファイルへのアクセスパターンを解析する。
ルートパターン推定部１３は、図４に例示するパターン別アクセス定義情報を備えている。ルートパターン推定部１３は、アクセスパターン解析部１２が解析したプログラムαのアクセスパターンと、パターン別アクセス定義情報（図４）とに基づいて、プログラムαのルートパターンを推定する。
【００２０】
（パターン推定装置１０の動作）
次に図６〜図９を参照して、パターン推定装置１０の動作について説明する。
図６は、パターン推定装置１０の処理の一例を示すフローチャートである。
まず、パターン推定装置１０は、ＲＳＵ化する対象プログラムαを取得する（ステップＳ１）。図７にプログラムαの一例を示す。プログラムαは、プログラムＡ〜Ｄのサブプログラムによって構成されている。
次にフロー抽出部１１は、プログラムαに含まれる処理フローを抽出する（ステップＳ２）。例えば、フロー抽出部１１は、プログラムＡ〜Ｄのコードを解析して、サブプログラム間の呼び出し処理や、ＤＢへのアクセス処理を抽出する。例えば、プログラムＡからプログラムＣを呼び出していて、プログラムＣがＤＢへアクセスしていれば、フロー抽出部１１は、プログラムＡ→プログラムＣ→ＤＢという処理の流れを抽出する。
【００２１】
図８に、フロー抽出部１１が抽出した処理フローを示す。処理フロー１は、プログラムＡがプログラムＣを呼び出し、プログラムＣがＤＢへアクセスする処理の流れである。処理フロー２は、プログラムＡがプログラムＣを呼び出し、プログラムＣがプログラムＤを呼び出し、プログラムＤがＤＢへアクセスする処理の流れである。同様に、処理フロー３は、プログラムＢ→プログラムＣ→ＤＢという処理の流れを示し、処理フロー４は、プログラムＢ→プログラムＣ→プログラムＤ→ＤＢという処理の流れを示し、処理フロー５は、プログラムＢ→プログラムＤ→ＤＢという処理の流れを示す。フロー抽出部１１は抽出した処理フロー１〜５を、アクセスパターン解析部１２へ渡す。
【００２２】
次にアクセスパターン解析部１２が、抽出された処理フロー１〜５のそれぞれについて、アクセスパターンを解析する（ステップＳ３）。例えば、アクセスパターン解析部１２は、処理フロー１におけるプログラムＣのＤＢへのアクセス処理のコードを解析して、トランザクションファイルに対する更新および参照、マスタファイルに対する更新の何れが含まれるかを特定する。ＤＢ内のファイルの一覧、ファイルの種別（トランザクションファイルか、マスタファイルか）については既知であるとする。例えば、アクセスパターン解析部１２は、処理フロー１では、トランザクションファイルへの参照のみを行い、処理フロー２では、トランザクションファイルへの更新および参照のみを行い、処理フロー３では、マスタファイルへの更新のみを行い、処理フロー４〜５では、トランザクションファイルへの更新およびマスタファイルへの更新のみを行っていることを解析する。図９の表の左４列に、処理フロー１〜５のアクセスパターンの一例を示す。アクセスパターン解析部１２は、処理フロー１〜５ごとのアクセスパターンの情報を、ルートパターン推定部１３へ渡す。
【００２３】
次にルートパターン推定部１３が、処理フローごとにルートパターンを推定する（ステップＳ４）。例えば、ルートパターン推定部１３は、トランザクションファイルへの参照のみを行う処理フロー１について、図４で例示したパターン別アクセス定義情報を参照して、「一覧照会」、「単票照会」、「初期表示」をルートパターンの推定候補として選択する。同様にルートパターン推定部１３は、処理フロー２について「取消／訂正」を選択し、処理フロー３について「ダウンロード」を選択し、処理フロー４〜５について「登録」、「取消／訂正」、「内部プロセス」を選択する。図９にルートパターン推定部１３によるルートパターン候補の推定結果を示す。
【００２４】
最後にパターン推定装置１０は、処理フローごとに、ルートパターンの候補を出力する。例えば、パターン推定装置１０は、図９に例示するような表を表示装置に表示してもよいし、処理フロー１〜５とそれぞれのルートパターンの候補を対応付けてパターン推定装置１０の記憶部に記録してもよい。
パターン推定装置１０がプログラムαに含まれる処理フローごとにルートパターンの候補を推定すると、その後は、例えば、業務やＲＳＵのルートパターンに精通した者が、処理フロー１〜５のそれぞれに対して、推定された候補の中から適切なルートパターンを決定する。ルートパターンが決定すれば、その後は、ＲＳＵの開発手法に則って、マイクロサービスに適したプログラム開発を行うことができる。
【００２５】
次に図６のステップＳ２〜４の処理についてさらに詳しく説明する。
図１０は、処理フローの抽出処理（ステップＳ２）の一例を示すフローチャートである。
フロー抽出部１１は、対象プログラムαを取得し、起点となるサブプログラムを抽出する。フロー抽出部１１は、起点となるサブプログラムを設定する（ステップＳ１１）。図７の例では、フロー抽出部１１は、プログラムＡ〜Ｂを設定する。次にフロー抽出部１１は、起点となるサブプログラム毎に以下の処理を行う。まず、呼び出し先のサブプログラムの有無を判定する（ステップＳ１２）。呼び出し先がある場合（ステップＳ１２；Ｙｅｓ）、フロー抽出部１１は、起点となるサブプログラム（例えば、プログラムＡ）の呼び出し先のサブプログラム（例えば、プログラムＣ）を起点に設定して、再帰的にステップＳ１１〜ステップＳ１５の処理（図１０の処理の呼び出し）を繰り返し行う（ステップＳ１４）。
例えば、図８の処理フロー１の例では、起点をプログラムＡ、呼び出し先をプログラムＣとしてステップＳ１５の処理を行う。すると、プログラムＣを起点として、図１０の処理が行われるが、呼び出し先が無いため（ステップＳ１２；Ｎｏ）、フロー抽出部１１は、プログラムの呼び出し関係を、呼び出し経路のプログラム（Ａ→Ｃ）を記憶しながら再帰的に辿り、処理フロー１を抽出する（ステップＳ１３）。次にフロー抽出部１１は、起点をプログラムＡとする処理に戻り、呼び出し先があるかどうかを判定（ステップＳ１２）し、処理フロー２の抽出を行う。同様にプログラムＣを起点として、図１０の処理を再帰的に行い、その処理の中でプログラムＤを起点する処理に移る。プログラムＤでは、呼び出しが無いため（ステップＳ１２；Ｎｏ）、プログラムＤを起点とするステップＳ１５の再帰処理を終了し、プログラムＣを起点とする処理に戻る。同様にプログラムＣを起点とするステップＳ１５の再帰処理を終了し、プログラムＡを起点とする処理に戻る。そして、プログラムＡを起点とするステップＳ１４のループ処理を終了する。プログラムＡを起点とするこれ以上の呼び出しが無いため、呼び出し経路のサブプログラムをプログラムＡ、Ｃ、Ｄの順に記憶し、これを処理フロー２としてメモリ等に記録する（ステップＳ１３）。フロー抽出部１１は、プログラムＢを起点とする処理フローについても同様にして抽出する。
【００２６】
図１１は、アクセスパターンの解析処理（ステップＳ３）の一例を示すフローチャートである。
アクセスパターン解析部１２は、処理フロー１に含まれるプログラムごとに以下の処理を繰り返し行う（ステップＳ２１）。アクセスパターン解析部１２は、プログラムからＤＢへのアクセス先（トランザクションファイルかマスタファイルか）、アクセス方法（参照か更新か）を解析する。アクセスパターン解析部１２は、解析結果を処理フローと対応付けられたアクセスパターンに追加する（ステップＳ２２）。アクセスパターン解析部１２は、処理フロー２〜５についても同様の処理を行う。これにより、図９に例示する処理フロー別のアクセスパターンの一覧が得られる。
【００２７】
図１２は、ルートパターンの推定処理（ステップＳ４）の一例を示すフローチャートである。
ルートパターン推定部１３は、図１１の処理によって作成された処理フロー別のアクセスパターンの一覧と、図４に例示するパターン別アクセス定義情報と、を読み出して、パターン別アクセス定義情報のルートパターンごとに以下の処理を繰り返す（ステップＳ３１）。ルートパターン推定部１３は、対象ルートパターンについて定義されたアクセスパターンと、処理フロー１〜５のアクセスパターンとを照合して、一致するものがあるかどうかを判定する（ステップＳ３２）。アクセスパターンが一致する処理フローが無ければ（ステップＳ３２；Ｎｏ）、次のルートパターンの判定へ移る。アクセスパターンが一致する処理フローがあれば（ステップＳ３２；Ｙｅｓ）、ルートパターン推定部１３は、そのルートパターンを、アクセスパターンが一致する処理フローの推定候補に追加する（ステップＳ３３）。
【００２８】
本実施形態によれば、ＲＳＵ化を目的として、対象プログラムαの処理フローを全て抽出し、処理フローごとにファイル、ＤＢへのアクセスパターンを解析する。そして解析されたアクセスパターンと、予めルートパターンごとに定義されたアクセスパターン（パターン別アクセス定義情報）とに基づいて、各処理フローのルートパターンを推定する。これにより、既存プログラムαのルートパターンを区分する処理を半自動化し、効率化することができる。また、ＲＳＵ化によって保守性の高いプログラムの大量開発が可能になり、モノリシックなプログラムをルートパターン単位に区分することで、マイクロサービス化が可能となる。
【００２９】
図１３は、パターン推定装置の最小構成を示す図である。
パターン推定装置１００は、少なくとも、パターン別アクセス定義情報１０１と、ルートパターン推定部１０２と、を備える。
パターン別アクセス定義情報１０１は、プログラムの構造に基づく所定の区分パターンごとにファイルへのアクセスパターンを定義した情報である。
ルートパターン推定部１０２は、対象プログラムに含まれる処理フローにおけるファイルへのアクセスパターンと、前記パターン別アクセス定義情報１０１とに基づいて、前記処理フローが区分される前記区分パターンを推定する。
【００３０】
図１４は、パターン推定装置のハードウェア構成の一例を示す図である。
コンピュータ９００は、ＣＰＵ９０１、主記憶装置９０２、補助記憶装置９０３、入出力インタフェース９０４、通信インタフェース９０５を備える。上述のパターン推定装置１０は、コンピュータ９００に実装される。そして、上述した各機能部の動作は、プログラムの方式で補助記憶装置９０３に記憶されている。ＣＰＵ９０１は、プログラムを補助記憶装置９０３から読み出して主記憶装置９０２に展開し、当該プログラムに従って上記処理を実行する。また、ＣＰＵ９０１は、プログラムに従って、記憶領域を主記憶装置９０２に確保する。また、ＣＰＵ９０１は、プログラムに従って、処理中のデータを記憶する記憶領域を補助記憶装置９０３に確保する。
【００３１】
なお、少なくとも１つの実施形態において、補助記憶装置９０３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、入出力インタフェース９０４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ９００に配信される場合、配信を受けたコンピュータ９００が当該プログラムを主記憶装置９０２に展開し、上記処理を実行しても良い。また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置９０３に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００３２】
その他、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
【符号の説明】
【００３３】
１０・・・パターン推定装置
１１・・・フロー抽出部
１２・・・アクセスパターン解析部
１３・・・ルートパターン推定部
９００・・・コンピュータ
９０１・・・ＣＰＵ
９０２・・・主記憶装置
９０３・・・補助記憶装置
９０４・・・入出力インタフェース
９０５・・・通信インタフェース
【要約】
【課題】対象とするプログラムを、プログラムの構造に基づく区分パターンへ分類する方法を提供する。
【解決手段】パターン推定装置は、プログラムの構造に基づく所定の区分パターンごとにファイルへのアクセスパターンを定義したパターン別アクセス定義情報と、対象プログラムに含まれる処理フローにおける前記ファイルへのアクセスパターンと、前記パターン別アクセス定義情報とに基づいて、前記処理フローが区分される前記区分パターンを推定するルートパターン推定部と、を備える。
【選択図】図１【図１】
0006835179.tif 000002
【図２】
0006835179.tif 000003
【図３】
0006835179.tif 000004
【図４】
0006835179.tif 000005
【図５】
0006835179.tif 000006
【図６】
0006835179.tif 000007
【図７】
0006835179.tif 000008
【図８】
0006835179.tif 000009
【図９】
0006835179.tif 000010
【図１０】
0006835179.tif 000011
【図１１】
0006835179.tif 000012
【図１２】
0006835179.tif 000013
【図１３】
0006835179.tif 000014
【図１４】
0006835179.tif 000015