(57)【要約】【課題】ソースコードを最適化するための技術者の知見を蓄積し、ソースコードの修正指針を提示する。【解決手段】コンピュータに、ファイルＩＤ毎にソースコードの属性データが関連付けられたソースコードプロファイルデータを記憶装置に記憶するソースコードプロファイル記憶手段１１と、修正ＩＤ毎に修正対象のソースコードの修正情報を含む修正内容データが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶するソースコード修正プロファイル記憶手段１４と、ソースコード修正プロファイルを読み出し、利用者によって修正内容データが選択されると、ソースコードプロファイルの属性データの中に選択された修正内容データに関連するデータが含まれるソースコードプロファイルを、不具合を発生させる原因を含むソースコードのデータとして出力する原因潜在ソースコード検出手段１６として機能させる。【選択図】      図１
2007334486.tif 000002
【特許請求の範囲】
【請求項１】
プログラムのソースコードを最適化するための技術者の知見を蓄積し、利用者に前記ソースコードの修正指針を提示する最適化支援装置に適用される最適化支援プログラムであって、
コンピュータを、
前記ソースコードに一意に割り当てられたファイルＩＤ毎に、前記ソースコードの属性データが関連付けられたソースコードプロファイルデータを記憶装置に記憶するソースコードプロファイル記憶手段と、
前記ソースコードの修正単位毎に割り当てられた修正ＩＤ毎に、修正対象のソースコードの修正情報を含む修正内容データが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶するソースコード修正プロファイル記憶手段と、
前記ソースコード修正プロファイル記憶手段によって記憶された前記ソースコード修正プロファイルデータを読み出し、前記利用者によって前記修正内容データが選択されると、前記ソースコードプロファイルデータの属性データの中に選択された修正内容データに関連するデータが含まれるソースコードプロファイルデータのファイルＩＤを、不具合を発生させる原因を含むソースコードのプロファイル情報として出力する原因潜在ソースコード検出手段
として機能させるための最適化支援プログラム。
【請求項２】
前記ソースコードプロファイル記憶手段は、更に、
前記ファイルＩＤ毎に、担当者による作業毎に割り当てられた作業ＩＤと前記作業により割り当てられるソースコードのリビジョンと前記作業の担当者名とが関連付けられたソースコードプロファイルデータを記憶装置に記憶し、
前記ソースコード修正プロファイル記憶手段は、更に、
前記修正ＩＤ毎に、前記ファイルＩＤと前記リビジョンとが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶し、
前記原因潜在ソースコード検出手段は、
前記ソースコード修正プロファイル記憶手段によって記憶された前記ソースコード修正プロファイルデータを読み出し、前記ファイルＩＤと前記リビジョンとを前記利用者に選択させ、前記記憶装置からソースコードプロファイルデータを読み出し、選択されたファイルＩＤとリビジョンが一致するソースコードプロファイルデータから前記担当者名及び前記作業ＩＤを抽出し、抽出した担当者名及び作業ＩＤが一致する前記ファイルＩＤ及び前記リビジョンを前記ソースコードプロファイルデータから抽出し、抽出されたファイルＩＤ及びリビジョンに対応する前記ソースコードプロファイルデータを出力する
ことを特徴とする請求項１に記載の最適化支援プログラム。
【請求項３】
コンピュータに、更に、
前記ソースコードの不具合を発生させる原因毎に割り当てられた原因パターンＩＤに、前記ソースコードの不具合の原因情報を含む原因データが関連付けられた原因パターンファイルデータを記憶装置に記憶する原因パターン記憶手段として機能させ、
前記ソースコードプロファイル記憶手段は、更に、
前記ファイルＩＤ毎に、担当者による作業毎に割り当てられたソースコードのリビジョンが関連付けられたソースコードプロファイルデータを記憶装置に記憶し、
前記ソースコード修正プロファイル記憶手段は、更に、
前記修正ＩＤに、前記原因パターンＩＤと前記ファイルＩＤと前記リビジョンとが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶し、
前記原因潜在ソースコード検出手段は、
前記ソースコード修正プロファイル記憶手段によって記憶された前記ソースコード修正プロファイルデータを読み出し、前記原因パターンＩＤを前記利用者に選択させ、前記記憶装置から原因パターンファイルデータを読み出し、読み出した原因パターンファイルデータから選択された原因パターンＩＤが一致する前記原因パターンファイルデータを抽出し、抽出された原因パターンファイルデータから原因データを前記利用者に選択させ、読み出した原因パターンファイルデータから選択された原因データに一致する他の原因パターンＩＤを抽出し、読み出した前記ソースコード修正プロファイルデータから抽出された原因パターンＩＤが一致するソースコード修正プロファイルデータを抽出し、抽出されたソースコード修正プロファイルデータから前記ファイルＩＤ及び前記リビジョンを抽出し、前記記憶装置からソースコードプロファイルデータを読み出し、読み出したソースコードプロファイルデータから抽出されたファイルＩＤ及びリビジョンが一致する前記ソースコードプロファイルデータを抽出して出力する
ことを特徴とする請求項１に記載の最適化支援プログラム。
【請求項４】
前記ソースコード修正プロファイル記憶手段は、
前記ソースコード修正プロファイルデータに加え、前記利用者によりソースコードの修正内容が評価された評価結果データと前記修正パターンＩＤとが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶し、
コンピュータに、更に、
前記ソースコードの修正方法を分類した修正パターンに一意に割り当てられた修正パターンＩＤとソースコードの修正を行う対象名と修正日と修正した動機データと担当者の所属組織名とが関連付けられた修正パターンファイルデータを記憶装置に記憶する修正パターン記憶手段と、
前記ソースコード修正プロファイル記憶手段によって記憶されたソースコード修正プロファイルデータを読み出し、前記原因パターンＩＤを前記利用者に選択させ、選択された原因パターンＩＤが一致する前記ソースコード修正プロファイルデータを抽出し、抽出されたソースコード修正プロファイルデータから前記評価結果データ及び前記修正パターンＩＤを抽出し、抽出された評価結果データを集計し、集計した結果に基づいて、抽出された修正パターンＩＤに対応する前記修正パターンファイルデータを出力する最適修正方法登録管理手段
として機能させることを特徴とする請求項１乃至３いずれか１項記載の最適化支援プログラム。
【請求項５】
プログラムのソースコードを最適化するための技術者の知見を蓄積し、利用者に前記ソースコードの修正指針を提示する最適化支援装置に適用される最適化支援プログラムであって、
コンピュータを、
前記ソースコードの修正方法を分類した修正パターンに一意に割り当てられた修正パターンＩＤとソースコードの修正を行う対象名と修正日と修正した動機データと担当者の所属組織名とが関連付けられた修正パターンファイルデータを記憶装置に記憶する修正パターン記憶手段と、
前記ソースコードの修正内容毎に割り当てられた修正ＩＤと前記ソースコードの不具合を発生させる原因毎に割り当てられた原因パターンＩＤと前記利用者によりソースコードの修正内容が評価された評価結果データと前記修正パターンＩＤとが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶するソースコード修正プロファイル記憶手段と、
前記ソースコード修正プロファイル記憶手段によって記憶されたソースコード修正プロファイルデータを読み出し、前記原因パターンＩＤを前記利用者に選択させ、選択された原因パターンＩＤが一致する前記ソースコード修正プロファイルデータを抽出し、抽出されたソースコード修正プロファイルデータから前記評価結果データ及び前記修正パターンＩＤを抽出し、抽出された評価結果データを集計し、集計した結果に基づいて、抽出された修正パターンＩＤに対応する前記修正パターンファイルデータを出力する最適修正方法登録管理手段と
して機能させるための最適化支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソースコードを最適化するための技術者の知見を蓄積し、ソースコードの修正指針を提示する最適化支援プログラムに関する。
【背景技術】
【０００２】
昨今の情報技術の発達に伴い、ソフトウェア保守についても迅速かつ正確にソースコードの最適化を行う必要性が益々高くなっている。
【０００３】
そのため、ソフトウェア保守を技術者の熟練度にのみ依存している場合、技術者の熟練度に応じてソースコードの最適化の迅速性及び正確性に個人差が生じ、一定の納期や品質を担保することが困難となるという問題が生じていた。
【０００４】
そこで、ソースプログラムの修正履歴の管理を効率よく行うプログラムソースの修正履歴管理システムが提案されている（例えば、特許文献１）。
【０００５】
また、アプリケーションを開発したベンダから顧客の使用するアプリケーションで発生した障害情報を自動的に収集し障害を究明して修正を行い、修正後のモジュールを顧客に送信して顧客のアプリケーションに自動的に適応するアプリケーションのメンテナンス方法が提案されている（例えば、特許文献２）。
【０００６】
さらに、プログラムを計算機で動作させた際の障害発生時のエラーメッセージ等の動作結果の履歴データを予めデータベースに保存し、プログラム修正時に過去に発生した類似障害を検索し、障害の頻度に応じて対処方法を提示するプログラム作成支援装置が提案されている（例えば、特許文献３）。
【特許文献１】特開２００１−２５６０４３号公報
【特許文献２】特開２００３−１７７９２１号公報
【特許文献３】特開平６−１０３０４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１記載のプログラムソースの修正履歴管理システムでは、ソースプログラムの修正履歴を管理するのみで、ソフトウェア保守自体は技術者の熟練度に依存しており、迅速かつ正確にソースコードの最適化を行うことはできなかった。
【０００８】
また、特許文献２記載のアプリケーションのメンテナンス方法では、障害情報を自動的に収集し障害を究明して修正を行い、修正後のモジュールを顧客に送信して顧客のアプリケーションに自動的に適応するので、モジュールの修正自体は技術者の熟練度に依存しており、この熟練者の知見を蓄積することはできず、一定の納期や品質を担保することが困難となるという問題は解決できなかった。
【０００９】
さらに、特許文献３記載のプログラム作成支援装置では、エラーメッセージ等の動作結果の履歴データを予めデータベースに保存し、プログラム修正時に過去に発生した類似障害を検索するので、障害が発生するまでその潜在的なプログラムの不具合を検知することができず、またその対処方法を検索することもできなかった。
【００１０】
また、特許文献３記載のプログラム作成支援装置では、障害の頻度に応じて対処方法が提示されるので、過去に採用された対処方法が必ずしも最適であるとは限らない。そのため、熟練者の知見を蓄積し、これを反映した修正方法の指針を提供することはできなかった。
【００１１】
本発明は、上記課題に鑑みてなされたものであり、ソースコードを最適化するための技術者の知見を蓄積し、ソースコードの修正指針を提示する最適化支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明に係る最適化支援プログラムの第１の特徴は、コンピュータを、ソースコードに一意に割り当てられたファイルＩＤ毎に、ソースコードの属性データが関連付けられたソースコードプロファイルデータを記憶装置に記憶するソースコードプロファイル記憶手段と、ソースコードの修正単位毎に割り当てられた修正ＩＤ毎に、修正対象のソースコードの修正情報を含む修正内容データが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶するソースコード修正プロファイル記憶手段と、ソースコード修正プロファイル記憶手段によって記憶されたソースコード修正プロファイルデータを読み出し、利用者によって修正内容データが選択されると、前記ソースコードプロファイルデータの属性データの中に選択された修正内容データに関連するデータが含まれるソースコードプロファイルデータのファイルＩＤを、不具合を発生させる原因を含むソースコードのプロファイル情報として出力する原因潜在ソースコード検出手段として機能させることを要旨とする。
【００１３】
上記目的を達成するため、本発明に係る最適化支援プログラムの第２の特徴は、ソースコードプロファイル記憶手段が、更に、ファイルＩＤ毎に、担当者による作業毎に割り当てられた作業ＩＤと作業により割り当てられるソースコードのリビジョンと作業の担当者名とが関連付けられたソースコードプロファイルデータを記憶装置に記憶し、ソースコード修正プロファイル記憶手段は、更に、修正ＩＤ毎に、ファイルＩＤとリビジョンとが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶し、原因潜在ソースコード検出手段は、ソースコード修正プロファイル記憶手段によって記憶されたソースコード修正プロファイルデータを読み出し、ファイルＩＤとリビジョンとを利用者に選択させ、記憶装置からソースコードプロファイルデータを読み出し、選択されたファイルＩＤとリビジョンが一致するソースコードプロファイルデータから担当者名及び作業ＩＤを抽出し、抽出した担当者名及び作業ＩＤが一致するファイルＩＤ及びリビジョンをソースコードプロファイルデータから抽出し、抽出されたファイルＩＤ及びリビジョンに対応するソースコードプロファイルデータを出力することを要旨とする。
【００１４】
上記目的を達成するため、本発明に係る最適化支援プログラムの第３の特徴は、コンピュータに、更に、ソースコードの不具合を発生させる原因毎に割り当てられた原因パターンＩＤに、ソースコードの不具合の原因情報を含む原因データが関連付けられた原因パターンファイルデータを記憶装置に記憶する原因パターン記憶手段として機能させ、ソースコードプロファイル記憶手段は、更に、ファイルＩＤ毎に、担当者による作業毎に割り当てられたソースコードのリビジョンが関連付けられたソースコードプロファイルデータを記憶装置に記憶し、ソースコード修正プロファイル記憶手段は、更に、修正ＩＤに、原因パターンＩＤとファイルＩＤとリビジョンとが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶し、原因潜在ソースコード検出手段は、ソースコード修正プロファイル記憶手段によって記憶されたソースコード修正プロファイルデータを読み出し、原因パターンＩＤを利用者に選択させ、記憶装置から原因パターンファイルデータを読み出し、読み出した原因パターンファイルデータから選択された原因パターンＩＤが一致する原因パターンファイルデータを抽出し、抽出された原因パターンファイルデータから原因データを利用者に選択させ、読み出した原因パターンファイルデータから選択された原因データに一致する他の原因パターンＩＤを抽出し、読み出した前記ソースコード修正プロファイルデータから抽出された原因パターンＩＤが一致するソースコード修正プロファイルデータを抽出し、抽出されたソースコード修正プロファイルデータからファイルＩＤ及びリビジョンを抽出し、記憶装置からソースコードプロファイルデータを読み出し、読み出したソースコードプロファイルデータから抽出されたファイルＩＤ及びリビジョンが一致するソースコードプロファイルデータを抽出して出力することを要旨とする。
【００１５】
上記目的を達成するため、本発明に係る最適化支援プログラムの第４の特徴は、ソースコード修正プロファイル記憶手段は、ソースコード修正プロファイルデータに加え、利用者によりソースコードの修正内容が評価された評価結果データと修正パターンＩＤとが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶し、コンピュータに、更に、ソースコードの修正方法を分類した修正パターンに一意に割り当てられた修正パターンＩＤとソースコードの修正を行う対象名と修正日と修正した動機データと担当者の所属組織名とが関連付けられた修正パターンファイルデータを記憶装置に記憶する修正パターン記憶手段と、ソースコード修正プロファイル記憶手段によって記憶されたソースコード修正プロファイルデータを読み出し、原因パターンＩＤを利用者に選択させ、選択された原因パターンＩＤが一致するソースコード修正プロファイルデータを抽出し、抽出されたソースコード修正プロファイルデータから評価結果データ及び修正パターンＩＤを抽出し、抽出された評価結果データを集計し、集計した結果に基づいて、抽出された修正パターンＩＤに対応する修正パターンファイルデータを出力する最適修正方法登録管理手段として機能させることを要旨とする。
【００１６】
上記目的を達成するため、本発明に係る最適化支援プログラムの第５の特徴は、コンピュータを、ソースコードの修正方法を分類した修正パターンに一意に割り当てられた修正パターンＩＤとソースコードの修正を行う対象名と修正日と修正した動機データと担当者の所属組織名とが関連付けられた修正パターンファイルデータを記憶装置に記憶する修正パターン記憶手段と、ソースコードの修正内容毎に割り当てられた修正ＩＤとソースコードの不具合を発生させる原因毎に割り当てられた原因パターンＩＤと利用者によりソースコードの修正内容が評価された評価結果データと修正パターンＩＤとが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶するソースコード修正プロファイル記憶手段と、ソースコード修正プロファイル記憶手段によって記憶されたソースコード修正プロファイルデータを読み出し、原因パターンＩＤを利用者に選択させ、選択された原因パターンＩＤが一致するソースコード修正プロファイルデータを抽出し、抽出されたソースコード修正プロファイルデータから評価結果データ及び修正パターンＩＤを抽出し、抽出された評価結果データを集計し、集計した結果に基づいて、抽出された修正パターンＩＤに対応する修正パターンファイルデータを出力する最適修正方法登録管理手段として機能させることを要旨とする。
【発明の効果】
【００１７】
本発明に係る最適化支援プログラムによれば、ソースコードを最適化するための知見を蓄積し、ソースコードの修正指針を提示することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態に係る最適化支援装置について図面を参照して説明する。ここで、本実施形態に係る最適化支援装置は、最適化支援プログラムがコンピュータに実装されることによって実現される。
【００１９】
図１は、本実施形態に係る最適化支援装置を示したブロック図である。
【００２０】
図１に示すように本実施形態に係る最適化支援装置１は、中央演算処理装置１０１、記憶装置１０７及び入出力インタフェース１０９を備えている。
【００２１】
中央演算処理装置１０１は、記憶装置１０７にデータを記憶するソースコードプロファイル記憶手段１１、ソースコードの変更履歴を読み込む変更履歴読み込み手段１２、原因パターン記憶手段１３、ソースコード修正プロファイル記憶手段１４、修正パターン記憶手段１５、潜在するソースコードの不具合の原因を含むソースコードプロファイルデータを検索する原因潜在ソースコード検出手段１６、ソースコードの最適な修正方法を提示し、又は利用者による最適な修正方法の登録を受け付ける最適修正方法登録管理手段１７とを備えている。
【００２２】
記憶装置１０７は、ソースコードプロファイルデータベース２１（以下、ソースコードプロファイルＤＢ２１と示す）、原因パターンデータベース２２（以下、原因パターンＤＢ２２と示す）、ソースコード修正プロファイルデータベース２３（以下ソースコード修正プロファイルＤ２３Ｂと示す）、修正パターンデータベース２４（以下、修正パターンＤＢ２４と示す）、及び最適修正方法データベース２５（以下、最適修正方法ＤＢ２５と示す）を記憶している。
【００２３】
図２に示すように、本実施形態に係る最適化支援装置１は、中央演算処理装置１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３および入出力インタフェース１０９が、バス１１０を介して接続されている。入出力インタフェース１０９には、入力装置１０４、表示装置１０５、通信制御装置１０６、記憶装置１０７およびリムーバブルディスク１０８が接続されている。
【００２４】
中央演算処理装置１０１は、入力装置１０４からの入力信号に基づいてＲＯＭ１０２から最適化支援装置１を起動するためのブートプログラムを読み出して実行し、更に記憶装置１０７に記憶されたオペレーティングシステムを読み出す。更に中央演算処理装置１０１は、入力装置１０４や通信制御装置１０６などの入力信号に基づいて、各種装置の制御を行ったり、ＲＡＭ１０３や記憶装置１０７などに記憶されたプログラムおよびデータを読み出してＲＡＭ１０３にロードするとともに、ＲＡＭ１０３から読み出されたプログラムのコマンドに基づいて、データの計算または加工など、後述する一連の処理を実現する処理装置である。
【００２５】
入力装置１０４は、操作者が各種の操作を入力するキーボード、マウスなどの入力デバイスにより構成されており、操作者の操作に基づいて入力信号を作成し、入出力インタフェース１０９およびバス１１０を介して中央演算処理装置１０１に送信される。表示装置１０５は、ＣＲＴ（Cathode Ray Tube）ディスプレイや液晶ディスプレイなどであり、中央演算処理装置１０１からバス１１０および入出力インタフェース１０９を介して表示装置１０５において表示させる出力信号を受信し、例えば中央演算処理装置１０１の処理結果などを表示する装置である。
【００２６】
通信制御装置１０６は、ＬＡＮカードやモデムなどの装置であり、最適化支援装置１をインターネットやＬＡＮなどの通信ネットワークに接続する装置である。通信制御装置１０６を介して通信ネットワークと送受信したデータは入力信号または出力信号として、入出力インタフェースおよびバス１１０を介して中央演算処理装置１０１に送受信される。
【００２７】
記憶装置１０７は半導体記憶装置や磁気ディスク装置であって、中央演算処理装置１０１で実行されるプログラムやデータが記憶されている。リムーバブルディスク１０８は、光ディスクやフレキシブルディスクのことであり、ディスクドライブによって読み書きされた信号は、入出力インタフェース１０９およびバス１１０を介して中央演算処理装置１０１に送受信される。
【００２８】
本実施形態に係る最適化支援装置１の記憶装置１０７には、最適化支援プログラムが記憶されるとともに、ソースコードプロファイルＤＢ２１、原因パターンＤＢ２２、ソースコード修正プロファイルＤＢ２３、修正パターンＤＢ２４、及び最適修正方法ＤＢ２５が記憶される。また、最適化支援プログラムが最適化支援装置１の中央演算処理装置１０１に読み込まれ実行されることによって、ソースコードプロファイル記憶手段１１、変更履歴読込手段１２、原因パターン記憶手段１３、ソースコード修正プロファイル記憶手段１４、修正パターン記憶手段１５、原因潜在ソースコード検出手段１６、最適修正方法登録管理手段１７が最適化支援装置１に実装される。
【００２９】
なお、本実施形態に係る最適化支援装置１は、１つのコンピュータによって実現されても良いし、互いに通信可能な複数のコンピュータによって実現されてもよい。
【００３０】
ソースコードプロファイル記憶手段１１は、ソースコードに一意に割り当てられたファイルＩＤ毎にソースコードの属性データが関連付けられたソースコードプロファイルデータをソースコードプロファイルＤＢ２１のデータとして記憶する。
【００３１】
具体的には、ソースコードプロファイル記憶手段１１は、ソースコードに一意に割り当てられるファイルＩＤ、ソースコードの名称、機能概要、ソースコードのリビジョン、日付、変更状態、担当者名、担当者による作業毎に割り当てられた作業ＩＤ及びコメントが関連付けられたソースコードプロファイルデータをソースコードプロファイルＤＢ２１のデータとして記憶する。
【００３２】
図３は、ソースコードプロファイルＤＢ２１のデータとして記憶するソースコードプロファイルデータの一例を示す。
【００３３】
図３では、ファイル情報として、ファイルＩＤ、ファイル名、機能概要が関連付けられ、ファイルＩＤ毎に新規作成又は更新履歴として、リビジョン、日付、変更状態、担当者、作業ＩＤ、コメントが関連付けられている。
【００３４】
このソースコードプロファイルデータにより、例えば、ファイルＩＤ“ＦＩＬＥ００１−００１”であるファイルは、リビジョン“１．０２”として、“２００３年９月１２日”に“東芝次郎”という担当者によって、作業ＩＤ“ＢＵＧ００６−００３”という作業で、“ＭＯＤＩＦＹ（変更）”されていることが分かる。
【００３５】
なお、このソースコードプロファイルデータは、例えば、最適化支援装置１の利用者によって入力装置１０４から入出力インタフェース１０９を介して入力される。
【００３６】
原因パターン記憶手段１３は、ソースコードの不具合を発生させる原因毎に割り当てられた原因パターンＩＤにソースコードの不具合の原因情報を含む原因データが関連付けられた原因パターンファイルデータを原因パターンＤＢ２２のデータとして記憶する。
【００３７】
具体的には、原因パターン記憶手段１３は、ソースコードの不具合を発生させる原因を分類した原因パターンに一意に割り当てられた原因パターンＩＤとこの原因となるソースコードを作成した担当者名とソースコードの不具合を発生させる原因の対象名と発生日と原因となるソースコードを作成した動機データと担当者の所属組織名とが関連付けられた原因パターンファイルデータを原因パターンＤＢ２２のデータとして記憶する。
【００３８】
さらに、原因明細ＩＤと原因パターンＩＤと不具合を発生させる原因となるソースコードを作成した担当者の行動内容データと補足事項データが関連付けられた原因詳細情報データを原因パターンＤＢのデータとして記憶する。なお、原因パターンファイルデータと原因詳細情報データは、原因パターンＩＤによって関連付けられている。
【００３９】
図４は、原因パターンＤＢ２２のデータとして記憶された原因パターンファイルデータ及び原因詳細情報データの一例を示す。
【００４０】
図４では、原因パターンＩＤを主キー（以下、ＰＫと示す）として、担当者名、ソースコードの不具合を発生させる原因の対象、発生日、場所、原因となるソースコードを作成した動機データが関連付けて記憶されており、原因パターンＩＤを外部キー（以下、ＦＫと示す）として原因詳細情報データの原因詳細ＩＤ、行動内容データ、補足事項データが結合されている。
【００４１】
この原因パターンファイルデータにより、例えば、原因パターンＩＤが“Ｃ００３−００１”において、“Ａ社”所属の“東芝太郎”という担当者が、“１９８０年”に“ファイル”という対象を“コピー”したという原因のパターンが記憶されていることが分かる。
【００４２】
このように、ソースコードの不具合を発生させる原因を原因パターンファイルデータとして記憶することにより、ソースコードのコンパイル時や実行プログラムの実行時にソースコードの不具合を検出する以前に、後述する原因潜在ソースコード検出手段１６が、潜在するソースコードの不具合の原因を抽出することができる。
【００４３】
また、原因パターンファイルデータで、ソースコードの不具合の原因が、ＷＨＥＮ（いつ）、ＷＨＥＲＥ（どこで）、ＷＨＯ（誰が）、ＷＨＡＴ（何を）、ＷＨＹ（なぜ）、ＨＯＷ（どうやって）の５Ｗ１Ｈに構造化されて記憶されることによって、後述する原因潜在ソースコード検出手段１６がより詳細にソースコードの不具合を発生させる原因の抽出を行うことができる。
【００４４】
なお、この原因パターンファイルデータは、例えば、最適化支援装置１の管理者によって入力装置１０４から入出力インタフェース１０９を介して入力される。
【００４５】
修正パターン記憶手段１５は、修正パターンＩＤとソースコードの修正方法が関連付けられた修正パターンファイルデータを修正パターンＤＢ２４のデータとして記憶する。
【００４６】
具体的には、ソースコードの修正方法を分類した修正パターンに一意に割り当てられた修正パターンＩＤとソースコード内に存在するサブルーチンや関数等の修正を行う対象名と修正日と修正した動機データと担当者の所属組織名とが関連付けられた修正パターンファイルデータを修正パターンＤＢ２４のデータとして記憶する。
【００４７】
さらに、修正パターン記憶手段１５は、修正明細ＩＤと修正パターンＩＤと修正した担当者の行動内容データとが関連付けられた修正詳細情報データを修正パターンＤＢ２４のデータとして記憶する。なお、修正パターンファイルデータと修正詳細情報データは、修正パターンＩＤによって関連付けられている。
【００４８】
図５は、修正パターンＤＢ２４のデータとして記憶された修正パターンファイルデータ及び修正詳細情報データの一例を示す。
【００４９】
図５では、修正パターンＩＤをＰＫとして、担当者名、修正の対象、作業日、担当者の所属組織を示す場所データ、修正を行った動機データが関連付けて記憶されており、修正パターンＩＤをＦＫとして修正詳細情報データの修正詳細ＩＤ、作業内容データ、補足事項データが結合されている。
【００５０】
この修正パターンファイルデータにより、例えば、修正パターンＩＤが“ＡＡＡ−００２”において、“Ｚ社”所属の“修正次郎”という担当者が、“関数”という対象を“共通化”するという修正のパターンが記憶されていることが分かる。
【００５１】
この修正パターンファイルデータは、例えば、最適化支援装置１の管理者によって入力装置１０４から入出力インタフェース１０９を介して入力される。
【００５２】
ソースコード修正プロファイル記憶手段１４は、ソースコードの修正内容単位毎に割り当てられた修正ＩＤ毎に修正対象のソースコードの修正情報を含む修正内容データが関連付けられたソースコード修正プロファイルデータをソースコード修正プロファイルＤＢ２３のデータとして記憶する。
【００５３】
具体的には、ソースコードの修正内容単位毎に割り当てられた修正ＩＤ毎に、原因ＩＤ、原因パターン、原因詳細、対応内容、修正コスト、予測効果、結果及び適用修正パターンが関連付けられた修正情報データと、修正ＩＤ、ファイルＩＤ、ファイル名及び行番号が関連付けられた修正ファイル情報データとをソースコード修正プロファイルＤＢ２３のデータとして記憶する。なお、修正情報データと修正ファイル情報データは、修正ＩＤによって関連付けられ、ソースコード修正プロファイルデータを構成している。
【００５４】
図６は、ソースコード修正プロファイルＤＢ２３のデータとして記憶されたソースコード修正プロファイルデータの一例を示す。
【００５５】
図６では、修正ＩＤをＰＫとして、原因ＩＤ、原因パターン、原因詳細、対応、修正コスト、予測効果、結果、適用修正パターンが関連付けて記憶されており、修正パターンＩＤをＦＫとして修正ファイル情報データのファイルＩＤ、ファイル名、行番号、リビジョンが結合されている。
【００５６】
このソースコード修正プロファイルデータにより、例えば、修正ＩＤ“０１６”において、ファイルＩＤ“ＦＩＬＥ００２−００１”のリビジョン“２．０６”、ファイルＩＤ“ＦＩＬＥ００２−００２”のリビジョン“１．０７”、及びファイルＩＤ“ＦＩＬＥ００２−００３”のリビジョン“２．０２”に原因ＩＤが“Ｃ００３−００３”である同一の原因パターンが含まれていることが分かる。
【００５７】
このように、原因ＩＤと適用修正パターンを関連付けることにより、後述する最適修正方法登録管理手段１７は、原因パターンに対して最も適した修正パターンファイルデータを提示することができる。
【００５８】
なお、このソースコード修正プロファイルデータは、例えば、最適化支援装置１の利用者によって入力装置１０４から入力インターフェースを介して入力される。
【００５９】
図７は、上述したソースコードプロファイルＤＢ２１、原因パターンＤＢ２２、ソースコード修正プロファイルＤＢ２３、修正パターンＤＢ２４、及び最適修正方法ＤＢ２５のＥＲ図である。
【００６０】
図７に示すように、ソースコード修正プロファイルＤＢ２３はファイルＩＤによりソースコードプロファイルＤＢ２１と連関し、原因パターンＤＢ２２は、原因パターンＩＤによりソースコード修正プロファイルＤＢ２３と連関し、修正パターンＤＢ２４は、修正パターンＩＤによりソースコード修正プロファイルＤＢ２３と連関している。
【００６１】
このように互いのデータベースが連関することによって、後述の原因潜在ソースコード検出手段１６が、ソースコードの不具合を発生させる原因を含むソースコードプロファイルデータを抽出し、最適修正方法登録管理手段１７が、利用者によって選択された原因パターンに対して最適な修正パターンを抽出することができる。
【００６２】
次に、本実施形態に係る最適化支援装置１の処理について説明する。
【００６３】
図８は、本実施形態に係る最適化支援装置１の処理フローを示したフローチャートである。
【００６４】
まず、ソースコードプロファイル記憶手段１１は、ステップＳ１０１、Ｓ１０２において、入出力インタフェース１０９から利用者によるソースコードプロファイルの登録要求を受け付け、新たなソースコードプロファイルの新規登録、又は変更登録を行う。
【００６５】
そして、ステップＳ１０３において、利用者が他ソフトウェア等を用いて、ソースコードの不具合を調査し発見する。
【００６６】
次に、ステップＳ１０４において、利用者によって発見されたソースコードの不具合と同様の不具合が潜在している他のソースコードを抽出する要求を受け付けた場合は、ステップＳ１０５で、原因潜在ソースコード検出手段１６が、不具合を発生させる原因を含むソースコードのデータとしてソースコードプロファイルを出力する。
【００６７】
このステップＳ１０４乃至Ｓ１０５における原因潜在ソースコード検出手段１６による原因潜在ソースコード検出処理については、後述する。
【００６８】
次に、ステップＳ１０６において、利用者によって発見されたソースコードの不具合の原因の登録要求が入出力インタフェース１０９から入力されると、ソースコード修正プロファイル記憶手段１４は、ソースコード修正プロファイルデータの更新登録を行う。
【００６９】
そして、ステップＳ１０７において、利用者による発見したソースコードの不具合の原因パターンの登録要求を受け付けた場合、ステップＳ１０８において、原因パターン記憶手段１３は、新たな原因パターンファイルデータの新規登録を行う。
【００７０】
次に、ステップＳ１０９において、利用者によって発見されたソースコードの不具合の最適な修正方法を検索する要求を受け付けた場合、ステップＳ１１０において、最適修正方法登録管理手段１７が、利用者によって選択された原因パターンに対して最適な修正パターンファイルデータを出力する。
【００７１】
そして、ステップＳ１１１において、利用者によりソースコードが修正された後、利用者によるソースコード修正プロファイルデータの適用修正パターンの更新要求を受け付けると、ステップＳ１１２において、最適修正方法登録管理手段１７は、ソースコード修正プロファイルデータの適用した修正パターンＩＤの更新登録を行う。
【００７２】
さらに、ステップＳ１１０で、ソースコード修正プロファイルデータから抽出した評価結果データ及び修正パターンＩＤの値がｎｕｌｌ値である場合、ステップＳ１１３乃至Ｓ１１６において、最適修正方法登録管理手段１７は、利用者による修正パターンの登録要求、及び最適修正方法の更新要求を受け付け、修正パターンを登録、及び最適修正方法の更新を行う。
【００７３】
上記ステップＳ１０９乃至Ｓ１１６における最適修正方法登録管理手段１７による最適修正方法登録管理処理については、後述する。
【００７４】
≪原因潜在ソースコード検出処理≫
次に、原因潜在ソースコード検出手段１６による原因潜在ソースコード検出処理について説明する。
【００７５】
原因潜在ソースコード検出手段は、記憶装置１０７に記憶されたソースコード修正プロファイルＤＢ２３からソースコード修正プロファイルデータを抽出して読み出し、ファイルＩＤとリビジョンとを利用者に選択させ、記憶装置１０７に記憶されたソースコードプロファイルＤＢ２１からソースコードプロファイルデータを抽出して読み出し、選択されたファイルＩＤとリビジョンが一致するソースコードプロファイルデータから担当者名及び作業ＩＤを抽出し、抽出した担当者名及び作業ＩＤが一致するファイルＩＤ及びリビジョンをソースコードプロファイルデータから抽出し、抽出されたファイルＩＤ及びリビジョンに対応するソースコードプロファイルデータを出力する。
【００７６】
図９は、この原因潜在ソースコード検出処理フローの一例を示すフローチャートである。
【００７７】
まず、ステップＳ２０１において、原因潜在ソースコード検出手段１６は、未処理の修正情報データが存在すると判断した場合、ステップＳ２０２において、記憶装置１０７に記憶されたソースコード修正プロファイルＤＢ２３からソースコード修正プロファイルデータの修正情報データを抽出して読み出す。
【００７８】
具体的には、原因潜在ソースコード検出手段１６は、ソースコードの修正内容毎に割り当てられた修正ＩＤ毎に、原因ＩＤ、原因パターン、原因詳細、対応、修正コスト、予測効果、結果及び適用修正パターンが関連付けられた修正情報データを記憶装置１０７に記憶されたソースコード修正プロファイルＤＢ２３から抽出して読み出す。
【００７９】
そして、ステップＳ２０３において、原因潜在ソースコード検出手段１６は、未処理の修正ファイル情報データが存在すると判断する場合、ステップＳ２０４において、記憶装置１０７に記憶されたソースコード修正プロファイルＤＢ２３から抽出して修正ファイル情報データを読み出す。
【００８０】
具体的には、原因潜在ソースコード検出手段１６は、修正ＩＤ、ファイルＩＤ、ファイル名及び行番号が関連付けられた修正ファイル情報データを記憶装置１０７に記憶されたソースコード修正プロファイルＤＢ２３から抽出して読み出す。
【００８１】
このように、ステップＳ２０１乃至Ｓ２０４の処理によって、例えば図６に示すようなソースコード修正プロファイルデータが読み出される。
【００８２】
そして、読み出されたソースコード修正プロファイルデータの中からファイルＩＤとリビジョンとを利用者が選択すると、ステップＳ２０５において、原因潜在ソースコード検出手段１６は、利用者によって入力されたファイルＩＤとリビジョンの選択信号を受信し、ステップＳ２０６において、受け付けたファイルＩＤに一致するソースコードプロファイルデータを抽出する。
【００８３】
さらにステップＳ２０７において、原因潜在ソースコード検出手段１６は、抽出したソースコードプロファイルデータの中から、ステップＳ２０５で受け付けたリビジョンと一致するソースコードプロファイルデータを記憶装置１０７に記憶されたソースコードプロファイルＤＢ２１から抽出する。
【００８４】
例えば図６に示したソースコード修正プロファイルデータにおいて、利用者がファイルＩＤ“ＦＩＬＥ００２−００３”、リビジョン“２．０２”を選択した場合、原因潜在ソースコード検出手段１６は、この選択信号を受け付け、図１０に示す記憶装置１０７に記憶されたソースコードプロファイルＤＢ２１から、ファイルＩＤが“ＦＩＬＥ００２−００３”、リビジョンが“２．０２”であるソースコードプロファイルデータを抽出する。
【００８５】
次に、ステップＳ２０８において、原因潜在ソースコード検出手段１６は、抽出されたソースコードプロファイルデータから担当者名及び作業ＩＤを抽出する。
【００８６】
図１０に示す例では、原因潜在ソースコード検出手段１６は、ファイルＩＤが“ＦＩＬＥ００２−００３”、リビジョンが“２．０２”であるソースコードプロファイルデータから担当者名“東芝四郎”、及び作業ＩＤ“ＡＢＣ００６−０１２”を抽出する。
【００８７】
そして、ステップＳ２０９、Ｓ２１０において、原因潜在ソースコード検出手段１６は、抽出した担当者名及び作業ＩＤが一致するファイルＩＤ及びリビジョンをソースコードプロファイルＤＢ２１から抽出し、抽出されたファイルＩＤ及びリビジョンに対応するソースコードプロファイルデータを出力する。
【００８８】
図１１は、検索したファイルＩＤ及びリビジョンに対応するソースコードプロファイルデータを含むソースコードプロファイルデータの一例を示す。
【００８９】
図１１に示す例では、原因潜在ソースコード検出手段１６は、担当者名“東芝四郎”、及び作業ＩＤ“ＡＢＣ００６−０１２”と一致するファイルＩＤ及びリビジョンをソースコードプロファイルデータＤＢ２１から抽出し、この検索条件に該当するファイルＩＤ“ＦＩＬＥ０１５−００６”、及びリビジョン“１．０７”であるソースコードプロファイルを出力する。
【００９０】
以上のように、ソースコード修正プロファイルデータから、ファイルＩＤとリビジョンとを利用者に選択させ、選択されたファイルＩＤとリビジョンが一致するソースコードプロファイルデータから担当者名及び作業ＩＤを抽出し、抽出した担当者名及び作業ＩＤが一致するファイルＩＤ及びリビジョンをソースコードプロファイルデータから抽出し、抽出されたファイルＩＤ及びリビジョンに対応するソースコードプロファイルデータを出力することによって、同一人によって修正されたソースコードのソースコードプロファイルデータを漏れなく抽出することができ、潜在するソースコードの不具合の原因を含むソースコードプロファイルデータを発見することが可能になる。
【００９１】
また、原因潜在ソースコード検出手段１６は、原因パターンファイルデータの情報を基に、潜在するソースコードの不具合の原因を含むソースコードプロファイルデータを発見することができる。
【００９２】
具体的には、原因潜在ソースコード検出手段１６は、記憶手段１０７に記憶されたソースコード修正プロファイルＤＢ２３からソースコード修正プロファイルデータを抽出して読み出し、原因パターンＩＤを利用者に選択させ、記憶装置１０７に記憶された原因パターンＤＢ２２から原因パターンファイルデータを抽出して読み出し、読み出した原因パターンファイルデータから選択された原因パターンＩＤが一致する原因パターンファイルデータを抽出し、抽出された原因パターンファイルデータから原因データを利用者に選択させ、読み出した原因パターンファイルデータから選択された原因データに一致する他の原因パターンＩＤを抽出し、読み出したソースコード修正プロファイルデータから抽出された原因パターンＩＤが一致するソースコード修正プロファイルデータを抽出し、抽出されたソースコード修正プロファイルデータからファイルＩＤ及びリビジョンを抽出し、記憶装置１０７に記憶したソースコードプロファイルＤＢ２１からソースコードプロファイルデータを抽出して読み出し、読み出したソースコードプロファイルデータから抽出されたファイルＩＤ及びリビジョンが一致するソースコードプロファイルデータを抽出して出力する。
【００９３】
図１２は、記憶装置１０７に記憶されたソースコード修正プロファイルＤＢ２３から読み出されたソースコード修正プロファイルデータの一覧を表示した画面の一例である。
【００９４】
図１２に示すソースコード修正プロファイル一覧画面Ｐ１０１から、利用者によって修正ＩＤが選択され、類似障害検索ボタンＢ１０１が押下操作されると、原因潜在ソースコード検出手段１６は、修正ＩＤの選択信号を受付け、受け付けた修正ＩＤに関連付けられている原因パターンＩＤに一致する原因パターンファイルデータを記憶装置１０７に記憶された原因パターンＤＢ２２から抽出する。
【００９５】
図１２では、修正ＩＤ“００１６”に対応するソースコード修正プロファイルデータが選択されているので、原因潜在ソースコード検出手段１６は、修正ＩＤ“００１６”に関連付けられている原因パターンＩＤ“Ｃ００３−００３”に一致する原因パターンファイルデータを記憶装置１０７に記憶された原因パターンＤＢ２２から抽出し、図１３に示すような原因パターン検索入力画面Ｐ１０２を表示させる。
【００９６】
図１３では、原因パターンＤＢ２２から抽出された原因パターンＩＤ“Ｃ００３−００３”に対応する原因データを表示しており、さらに、抽出された原因パターンデータファイルの各原因データを検索条件として設定できるように、検索条件の入力欄を設けている。この入力欄は、抽出された原因パターンＩＤ“Ｃ００３−００３”に対応する原因データを表示しているが、利用者が手動にて原因データを修正してもよい。
【００９７】
そして、利用者が、図１３に示す原因パターン検索入力画面Ｐ１０２の検索条件の入力欄から、抽出したい原因データにチェックをし、検索ボタンＢ１０２を押下操作すると、検索条件の入力欄のうち、「発生日」と「場所」の原因データにチェックが入っている。そのため、原因潜在ソースコード検出手段１６は、記憶装置１０７に記憶された原因パターンＤＢ２２から、発生日が“１９９５”〜“１９９５”であり、場所が“Ｂ社”である他の原因パターンファイルデータを抽出する。
【００９８】
次に、原因潜在ソースコード検出手段１６は、抽出された原因パターンファイルデータから原因ＩＤを抽出し、抽出された原因パターンＩＤが一致するソースコード修正プロファイルデータを記憶装置１０７に記憶されたソースコード修正プロファイルＤＢ２３から抽出し、抽出されたソースコード修正プロファイルデータからファイルＩＤ及びリビジョンを抽出し、抽出されたファイルＩＤ及びリビジョンを抽出し、抽出されたファイルＩＤ及びリビジョンが一致するソースコードプロファイルデータを記憶装置１０７に記憶されたソースコードプロファイルＤＢ２１から抽出し、抽出されたソースコードプロファイルデータを図１４に示すような検索結果一覧画面Ｐ１０３に表示させる。
【００９９】
図１４では、抽出されたファイルＩＤに対応するソースコードプロファイルデータが一覧で出力されている。
【０１００】
このように、原因潜在ソースコード検出手段１６が、ソースコード修正プロファイルデータから利用者によって選択された原因パターンＩＤを基に、原因パターンファイルデータを抽出し、抽出された原因パターンファイルデータから原因データを利用者に選択させ、選択された原因データが一致する他の原因パターンＩＤを抽出し、抽出した原因パターンＩＤを基に、この原因パターンＩＤに関連するファイルＩＤ及びリビジョンのソースコードプロファイルデータを出力することによって、原因パターンファイルデータの情報を基に、潜在するソースコードの不具合の原因を含むソースコードプロファイルを発見することができる。
【０１０１】
さらに、利用者が、図１４に示す検索結果一覧画面Ｐ１０３のソースコードプロファイルデータの一覧の中から、新たに登録したいファイルＩＤにチェックをし、障害登録ボタンＢ１０３を押し釦操作すると、原因潜在ソースコード検出手段１６は、ファイルＩＤの選択信号を受付け、受け付けたファイルＩＤのソースコードプロファイルデータをソースコード修正プロファイルデータに登録することもできる。
【０１０２】
図１４では、ファイルＩＤが“ＦＩＬＥ００４−０１２”、“ＦＩＬＥ００４−０１５”、“ＦＩＬＥ００５−００２”のソースコードプロファイルデータが選択されているので、利用者が障害登録ボタンＢ１０３を押し釦操作すると、原因潜在ソースコード検出手段１６は、原因パターンＩＤ“Ｃ００３−００３”を含むソースコード修正プロファイルデータを記憶装置１０７に記憶されたソースコード修正プロファイルＤＢ２３から抽出し、抽出したソースコード修正プロファイルデータの修正ファイル情報データにファイルＩＤ“ＦＩＬＥ００４−０１２”、“ＦＩＬＥ００４−０１５”、“ＦＩＬＥ００５−００２”のソースコードプロファイルデータを関連付けて登録する。
【０１０３】
≪最適修正方法管理処理≫
次に、最適修正方法登録管理手段１７による最適修正方法管理処理について説明する。
【０１０４】
最適修正方法登録管理手段１７は、記憶装置１０７に記憶されたソースコード修正プロファイルＤＢ２３からソースコード修正プロファイルデータを抽出して読み出し、利用者に原因パターンＩＤを選択させ、選択された原因パターンＩＤが一致するソースコード修正プロファイルデータを抽出し、抽出されたソースコード修正プロファイルデータから評価結果データ及び修正パターンＩＤを抽出し、抽出された評価結果データを集計し、集計した結果に基づいて、抽出された修正パターンＩＤに対応する修正パターンファイルデータを出力する。
【０１０５】
図１５は、この最適修正方法管理処理フローを示すフローチャートである。
【０１０６】
まず、ステップＳ３０１において、最適修正方法登録管理手段１７は、未処理の修正情報データが存在すると判断した場合、ステップＳ３０２において、記憶装置１０７に記憶されたソースコード修正プロファイルＤＢ２３からソースコード修正プロファイルデータの修正情報データを抽出して読み出す。
【０１０７】
具体的には、最適修正方法登録管理手段１７は、ソースコードの修正内容毎に割り当てられた修正ＩＤ毎に、原因ＩＤ、原因パターン、原因詳細、対応、修正コスト、予測効果、結果及び適用修正パターンが関連付けられた修正情報データを記憶装置１０７に記憶されたソースコード修正プロファイルＤＢ２３から抽出して読み出す。
【０１０８】
そして、ステップＳ３０３において、利用者が、読み出されたソースコード修正プロファイルデータの中から、原因パターンＩＤを選択すると、最適修正方法登録管理手段１７は、原因パターンＩＤの選択信号を受付ける。
【０１０９】
次に、ステップＳ３０４において、最適修正方法登録管理手段１７は、未処理の修正ファイル情報データが存在すると判断した場合、ステップＳ３０６において、受け付けた原因パターンＩＤが一致するソースコード修正プロファイルデータを記憶装置１０７に記憶されたソースコード修正プロファイルＤＢ２３から抽出する。
【０１１０】
図１６は、抽出されたソースコード修正プロファイルデータの一例である。
【０１１１】
最適修正方法登録管理手段１７が、記憶装置１０７に記憶されたソースコード修正プロファイルＤＢからソースコード修正プロファイルデータを抽出して読み出した後、読み出したソースコード修正プロファイルデータの中から、利用者によって原因パターンＩＤ“Ｃ００３−００４”が選択されると、図１６に示すように、ソースコード修正プロファイルＤＢ２３から、原因パターンＩＤが“Ｃ００３−００４”である修正ＩＤ“０１６”、“０３２”、“０４６”のソースコード修正プロファイルデータが抽出される。
【０１１２】
そして、ステップＳ３０７、Ｓ３０８において、最適修正方法登録管理手段１７は、抽出されたソースコード修正プロファイルデータから評価結果データ及び修正パターンＩＤを抽出し、修正パターンＩＤ毎に評価結果データに応じた評価点を加算する。
【０１１３】
図１６では、最適修正方法登録管理手段１７は、修正ＩＤ“０１６”、“０３２”、“０４６”に対応する評価結果データ“Ａ”、“Ｃ”、“Ｂ”、及び修正パターンＩＤ“００３”、“００２”、“００３”を抽出している。
【０１１４】
ここで、評価結果データに応じた評価点とは、予め評価結果データが上位である程、高得点となるように設定した点数のことであり、ここでは、評価結果データが“Ａ”である場合、最も良い評価とし、評価点は最高点の“３”点を設定している。同様に、評価結果データが“Ｂ”である場合の評価点は“２”点、評価結果データが“Ｃ”である場合の評価点は“１”点、評価結果データが“Ｄ”である場合の評価点は“０”点、評価結果データが“Ｅ”である場合の評価点は“−１”点と設定している。
【０１１５】
図１６では、修正ＩＤが“０１６”に対応する評価結果データが“Ａ”であるため、評価点は“３”点であり、同様に、修正ＩＤ“０３２”、“０４６”に対応する各々の評価結果データは“Ｃ”、“Ｂ”であるため、各々の評価点は“１”点、“２”点である。
【０１１６】
そして、最適修正方法登録管理手段１７が、修正パターンＩＤ毎にこの評価点を加算した得点を算出すると、修正パターンＩＤ“００２”の得点は、“１”点であり、修正パターンＩＤ“００３”の得点は、“５”点である。
【０１１７】
そこで、ステップＳ３０５において、最適修正方法登録管理手段１７は、この加算した評価点に応じて、抽出した修正パターンＩＤに対応する修正パターンファイルデータを出力する。
【０１１８】
修正パターンファイルデータの出力は、表示装置１０５の画面に表示させてもよいし、最適修正方法ＤＢ２５のデータとして修正パターンファイルデータを記憶するようにしてもよい。
【０１１９】
図１７は、最適修正方法登録管理手段１７が出力した修正方針情報データの一例を示す。なお、図１７に示す修正方針情報データの修正方針は簡略化して記載しているが、図５示す修正パターンファイルデータのように、修正パターンＩＤ、担当者名、修正の対象、作業日、担当者の所属組織を示す場所データ、修正を行った動機データ、修正詳細ＩＤ、作業内容データ、補足事項データが関連付けて記憶される。
【０１２０】
図１７では、修正ＩＤ“０１６”及び修正ＩＤ“０１７”に対応する修正方針情報データを示している。
【０１２１】
このように、修正ＩＤ毎に、最適修正方法登録管理手段１７にて算出した得点に応じて、修正方針が順位付けて最適修正方法ＤＢの修正方針情報データとして記憶し、修正ＩＤをＦＫとして記憶装置１０７に記憶されているソースコード修正プロファイルデータと連関させ、修正パターンＩＤをＦＫとして修正パターンファイルデータと連関させて記憶する。
【０１２２】
以上のように、利用者によって選択された原因パターンＩＤに基づいて、修正パターンを抽出し、抽出された修正パターンを評価し、この評価に基づいて修正パターンを出力することによって、過去にソースコードの修正を行った実績に基づいて、ソースコードの修正指針を提示することができる。
【０１２３】
（変形例１）
本実施形態に係る最適化装置では、最適修正方法登録管理手段１７が、過去にソースコードの修正を行った実績に基づいて、ソースコードの修正指針を提示するが、変形例１では、過去にソースコードの修正を行った実績が存在しない場合に、原因パターンファイルデータを用いて、修正パターンの候補を出力し、出力した中から利用者によって選択された修正パターンを登録する。
【０１２４】
具体的には、ソースコード修正プロファイルデータから取得した評価結果データ及び前記修正パターンＩＤの値がｎｕｌｌ値である場合に、原因パターンファイルデータのソースコードの不具合を発生させる原因の対象名、発生日、原因となるソースコードを作成した動機データ、担当者の所属組織名のうち少なくともいずれか１つのデータを利用者に選択させ、選択されたデータに一致する他の原因パターンファイルデータを記憶装置１０７に記憶された原因パターンＤＢ２２から抽出し、抽出された原因パターンファイルデータから原因パターンＩＤを抽出し、抽出した原因パターンＩＤが一致するソースコード修正プロファイルデータを記憶装置１０７に記憶されたソースコード修正プロファイルＤＢ２３から抽出し、抽出されたソースコード修正プロファイルデータから修正ＩＤを抽出し、抽出した修正ＩＤが一致する修正パターンファイルデータを記憶装置１０７に記憶された修正パターンＤＢ２４から抽出し、抽出された修正パターンファイルデータからいずれか１つの修正パターンＩＤを利用者に選択させ、選択された修正パターンＩＤに対応する修正パターンファイルデータを最適修正方法ＤＢ２５のデータとして記憶する。
【０１２５】
図１８は、ソースコード修正プロファイルＤＢ２３から読み出されたソースコード修正プロファイルデータの一覧を表示した画面である。
【０１２６】
図１８に示すソースコード修正プロファイル一覧画面Ｐ２０１から、利用者によって修正ＩＤが選択され、原因パターン検索ボタンＢ２０１が押し釦操作されると、最適修正方法登録管理手段１７は、修正ＩＤの選択信号を受付け、受け付けた修正ＩＤに関連付けられている原因パターンＩＤに一致する原因パターンファイルデータを記憶装置１０７に記憶された原因パターンＤＢ２２から抽出する。
【０１２７】
図１８では、修正ＩＤ“００２６”に対応するソースコード修正プロファイルデータが選択されているので、最適修正方法登録管理手段１７は、修正ＩＤ“００２６”に関連付けられている原因パターンＩＤ“Ｃ００３−００６”に一致する原因パターンファイルデータを記憶装置１０７に記憶された原因パターンＤＢから抽出し、図１９に示すような原因パターン検索入力画面Ｐ２０２を表示させる。
【０１２８】
図１９では、原因パターンＤＢ２２から抽出された原因パターンＩＤ“Ｃ００３−００６”に対応する原因パターンファイルデータを表示しており、さらに、抽出された原因パターンファイルデータの原因データを検索条件として設定できるように、検索条件の入力欄を設けている。この入力欄は、抽出された原因パターンＩＤ“Ｃ００３−００６”に対応する原因データを表示しているが、利用者が手動にて原因データを修正してもよい。
【０１２９】
利用者が、図１９に示す原因パターン検索入力画面Ｐ２０２の検索条件の入力欄から、抽出したい原因データにチェックをし、検索ボタンＢ２０２を押し釦操作すると、原因データの選択信号を受付け、受け付けた原因データに一致する他の原因パターンファイルデータを記憶装置１０７に記憶された原因パターンＤＢ２２から抽出し、抽出された原因パターンファイルデータから原因パターンＩＤを抽出し、抽出した原因パターンＩＤが一致するソースコード修正プロファイルデータを記憶装置１０７に記憶されたソースコード修正プロファイルＤＢ２３から抽出し、抽出されたソースコード修正プロファイルデータから修正ＩＤを抽出し、抽出した修正ＩＤが一致する修正パターンファイルデータを記憶装置１０７に記憶された修正パターンＤＢ２４から抽出する。
【０１３０】
図１９では、検索条件の入力欄のうち、「行動」及び「補足」のデータ項目にチェックが入っているため、「行動」が“コピーした”又は“一部をカスタマイズした”である原因パターンＩＤを抽出し、最終的に抽出した修正パターンファイルデータを図２０に示すような検索結果一覧画面Ｐ２０３に表示させる。
【０１３１】
次に、最適修正方法登録管理手段１７は、抽出された修正パターンファイルデータからいずれか１つの修正パターンＩＤを利用者に選択させ、選択された修正パターンＩＤに対応する修正パターンファイルデータを最適修正方法ＤＢ２５のデータとして記憶する。
【０１３２】
図２０では、修正パターンＩＤ“ＡＡＡ−００３”に対応する修正パターンファイルデータが選択されているので、利用者が、検索結果一覧画面Ｐ２０３の修正パターンファイルデータの中から、抽出した修正パターンファイルデータにチェックをし、修正パターンコピー登録ボタンＢ２０３を押し釦操作すると、最適修正方法登録管理手段１７は、修正パターンＩＤ“ＡＡＡ−００３”に一致する修正パターンファイルデータを記憶装置１０７に記憶された修正パターンＤＢ２４から抽出し、図２１に示すような修正パターン登録画面Ｐ２０４を表示させる。
【０１３３】
そして、利用者が図２１に示す検索結果一覧画面Ｐ２０３の登録ボタンＢ２０４を押し釦操作すると、最適修正方法登録管理手段１７は、修正パターンＩＤ“ＡＡＡ−００３“に対応する修正パターンファイルデータを最適修正方法ＤＢ２５のデータとして記憶する。
【０１３４】
このように、過去にソースコードの修正を行った実績が存在しない場合に、原因パターンファイルデータを用いて、修正パターンの候補を出力し、出力した中から利用者によって選択された修正パターンを登録することで、ソースコードを最適化するための技術者の知見を蓄積することができる。
【０１３５】
（変形例２）
本実施形態に係る最適化支援装置では、ソースコードプロファイル記憶手段１１は、最適化支援装置１の利用者によって入力装置１０４から入出力インタフェース１０９を介して入力されたソースコードプロファイルデータをソースコードプロファイルＤＢ２１のデータとして記憶するが、変型例２では、変更履歴読み込み手段１２が、ソースコード内に予め定型で記述されたコメント文を読み込み、読み込んだコメント文をソースコードプロファイルの各項目に分割し、分割したデータをソースコードプロファイルデータとしてソースコードプロファイル記憶手段１１に送信し、受信したソースコードプロファイルデータをソースコードプロファイル記憶手段１１がソースコードプロファイルＤＢ２１のデータとして記憶する。
【０１３６】
図２２は、ソースコード内に予め定型で記述されたコメント文の一例である。
【０１３７】
図２２では、ファイルＩＤ“ＦＩＬＥ００１−００１”、ファイル名“Ｓａｍｐｌｅ．ｆｉｌｅ”、機能概要“設定ファイルを読み込む”が関連付けられて読み込まれ、ファイルＩＤ毎に新規作成又は更新履歴として、リビジョン、日付、変更状態、担当者、作業ＩＤ、コメントが各々関連付けられて読み込まれる。
【０１３８】
これにより、最適化支援装置１の利用者は入力作業を省力化することができる。
【図面の簡単な説明】
【０１３９】
【図１】本実施形態に係る最適化支援装置の構成を示したブロック図である。
【図２】本実施形態に係る最適化支援装置のハードウェア構成を示したハードウェア構成図である。
【図３】本実施形態に係る最適化支援装置の記憶装置に記憶されたソースコードプロファイルデータのデータ構造及びデータの一例である。
【図４】本実施形態に係る最適化支援装置の記憶装置に記憶された原因パターンファイルデータ及び原因詳細情報データのデータ構造及びデータの一例である。
【図５】本実施形態に係る最適化支援装置の記憶装置に記憶された修正パターンファイルデータ及び修正詳細情報データのデータ構造及びデータの一例である。
【図６】本実施形態に係る最適化支援装置の記憶装置に記憶されたソースコード修正プロファイルデータのデータ構造及びデータの一例である。
【図７】本実施形態に係る最適化支援装置で処理するデータのＥＲ図である。
【図８】本実施形態に係る最適化支援装置の処理フローを示したフローチャートである。
【図９】本実施形態に係る最適化支援装置の原因潜在ソースコード検出処理フローの一例を示すフローチャートである。
【図１０】本実施形態に係る最適化支援装置の原因潜在ソースコード検出手段が抽出したソースコードプロファイルデータのデータ構造及びデータの一例である。
【図１１】本実施形態に係る最適化支援装置の原因潜在ソースコード検出手段が抽出したソースコードプロファイルデータのデータ構造及びデータの一例である。
【図１２】本実施形態に係る最適化支援装置の原因潜在ソースコード検出手段が表示装置に表示させるソースコード修正プロファイルデータ一覧画面の一例である。
【図１３】本実施形態に係る最適化支援装置の原因潜在ソースコード検出手段が表示装置に表示させる原因パターン検索入力画面の一例である。
【図１４】本実施形態に係る最適化支援装置の原因潜在ソースコード検出手段が表示装置に表示させる検索結果一覧画面の一例である。
【図１５】本実施形態に係る最適化支援装置の最適修正方法管理処理フローを示すフローチャートである。
【図１６】本実施形態に係る最適化支援装置の最適修正方法登録管理手段が抽出したソースコード修正プロファイルデータのデータ構造及びデータの一例である。
【図１７】本実施形態に係る最適化支援装置の最適修正方法登録管理手段が出力した修正方針情報データのデータ構造及びデータの一例である。
【図１８】本実施形態に係る最適化支援装置の最適修正方法登録管理手段が表示装置に表示させるソースコード修正プロファイル一覧画面の一例である。
【図１９】本実施形態に係る最適化支援装置の最適修正方法登録管理手段が表示装置に表示させる原因パターン検索入力画面の一例である。
【図２０】本実施形態に係る最適化支援装置の最適修正方法登録管理手段が表示装置に表示させる検索結果一覧画面の一例である。
【図２１】本実施形態に係る最適化支援装置の最適修正方法登録管理手段が表示装置に表示させる修正パターン登録画面の一例である。
【図２２】本実施形態に係る最適化支援装置の変更履歴読込手段が読み込むソースコード内に予め定型で記述されたコメント文の一例である。
【符号の説明】
【０１４０】
１…最適化支援装置
１１…ソースコードプロファイル記憶手段
１２…変更履歴読込手段
１３…原因パターン記憶手段
１４…ソースコード修正プロファイル記憶手段
１５…修正パターン記憶手段
１６…原因潜在ソースコード検出手段
１７…最適修正方法登録管理手段
２１…ソースコードプロファイルＤＢ
２２…原因パターンＤＢ
２３…ソースコード修正プロファイルＤＢ
２４…修正パターンＤＢ
２５…最適修正方法ＤＢ
１０１…中央演算処理装置
１０２…ＲＯＭ
１０３…ＲＡＭ
１０４…入力装置
１０５…表示装置
１０６…通信制御装置
１０７…記憶装置
１０９…入出力インタフェース
１１０…バス
【図１】
2007334486.tif 000003
【図２】
2007334486.tif 000004
【図３】
2007334486.tif 000005
【図４】
2007334486.tif 000006
【図５】
2007334486.tif 000007
【図６】
2007334486.tif 000008
【図７】
2007334486.tif 000009
【図８】
2007334486.tif 000010
【図９】
2007334486.tif 000011
【図１０】
2007334486.tif 000012
【図１１】
2007334486.tif 000013
【図１２】
2007334486.tif 000014
【図１３】
2007334486.tif 000015
【図１４】
2007334486.tif 000016
【図１５】
2007334486.tif 000017
【図１６】
2007334486.tif 000018
【図１７】
2007334486.tif 000019
【図１８】
2007334486.tif 000020
【図１９】
2007334486.tif 000021
【図２０】
2007334486.tif 000022
【図２１】
2007334486.tif 000023
【図２２】
2007334486.tif 000024