説明

最適化支援プログラム

【課題】ソースコードを最適化するための技術者の知見を蓄積し、ソースコードの修正指針を提示する。
【解決手段】コンピュータに、ファイルID毎にソースコードの属性データが関連付けられたソースコードプロファイルデータを記憶装置に記憶するソースコードプロファイル記憶手段11と、修正ID毎に修正対象のソースコードの修正情報を含む修正内容データが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶するソースコード修正プロファイル記憶手段14と、ソースコード修正プロファイルを読み出し、利用者によって修正内容データが選択されると、ソースコードプロファイルの属性データの中に選択された修正内容データに関連するデータが含まれるソースコードプロファイルを、不具合を発生させる原因を含むソースコードのデータとして出力する原因潜在ソースコード検出手段16として機能させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソースコードを最適化するための技術者の知見を蓄積し、ソースコードの修正指針を提示する最適化支援プログラムに関する。
【背景技術】
【0002】
昨今の情報技術の発達に伴い、ソフトウェア保守についても迅速かつ正確にソースコードの最適化を行う必要性が益々高くなっている。
【0003】
そのため、ソフトウェア保守を技術者の熟練度にのみ依存している場合、技術者の熟練度に応じてソースコードの最適化の迅速性及び正確性に個人差が生じ、一定の納期や品質を担保することが困難となるという問題が生じていた。
【0004】
そこで、ソースプログラムの修正履歴の管理を効率よく行うプログラムソースの修正履歴管理システムが提案されている(例えば、特許文献1)。
【0005】
また、アプリケーションを開発したベンダから顧客の使用するアプリケーションで発生した障害情報を自動的に収集し障害を究明して修正を行い、修正後のモジュールを顧客に送信して顧客のアプリケーションに自動的に適応するアプリケーションのメンテナンス方法が提案されている(例えば、特許文献2)。
【0006】
さらに、プログラムを計算機で動作させた際の障害発生時のエラーメッセージ等の動作結果の履歴データを予めデータベースに保存し、プログラム修正時に過去に発生した類似障害を検索し、障害の頻度に応じて対処方法を提示するプログラム作成支援装置が提案されている(例えば、特許文献3)。
【特許文献1】特開2001−256043号公報
【特許文献2】特開2003−177921号公報
【特許文献3】特開平6−103047号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、特許文献1記載のプログラムソースの修正履歴管理システムでは、ソースプログラムの修正履歴を管理するのみで、ソフトウェア保守自体は技術者の熟練度に依存しており、迅速かつ正確にソースコードの最適化を行うことはできなかった。
【0008】
また、特許文献2記載のアプリケーションのメンテナンス方法では、障害情報を自動的に収集し障害を究明して修正を行い、修正後のモジュールを顧客に送信して顧客のアプリケーションに自動的に適応するので、モジュールの修正自体は技術者の熟練度に依存しており、この熟練者の知見を蓄積することはできず、一定の納期や品質を担保することが困難となるという問題は解決できなかった。
【0009】
さらに、特許文献3記載のプログラム作成支援装置では、エラーメッセージ等の動作結果の履歴データを予めデータベースに保存し、プログラム修正時に過去に発生した類似障害を検索するので、障害が発生するまでその潜在的なプログラムの不具合を検知することができず、またその対処方法を検索することもできなかった。
【0010】
また、特許文献3記載のプログラム作成支援装置では、障害の頻度に応じて対処方法が提示されるので、過去に採用された対処方法が必ずしも最適であるとは限らない。そのため、熟練者の知見を蓄積し、これを反映した修正方法の指針を提供することはできなかった。
【0011】
本発明は、上記課題に鑑みてなされたものであり、ソースコードを最適化するための技術者の知見を蓄積し、ソースコードの修正指針を提示する最適化支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するため、本発明に係る最適化支援プログラムの第1の特徴は、コンピュータを、ソースコードに一意に割り当てられたファイルID毎に、ソースコードの属性データが関連付けられたソースコードプロファイルデータを記憶装置に記憶するソースコードプロファイル記憶手段と、ソースコードの修正単位毎に割り当てられた修正ID毎に、修正対象のソースコードの修正情報を含む修正内容データが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶するソースコード修正プロファイル記憶手段と、ソースコード修正プロファイル記憶手段によって記憶されたソースコード修正プロファイルデータを読み出し、利用者によって修正内容データが選択されると、前記ソースコードプロファイルデータの属性データの中に選択された修正内容データに関連するデータが含まれるソースコードプロファイルデータのファイルIDを、不具合を発生させる原因を含むソースコードのプロファイル情報として出力する原因潜在ソースコード検出手段として機能させることを要旨とする。
【0013】
上記目的を達成するため、本発明に係る最適化支援プログラムの第2の特徴は、ソースコードプロファイル記憶手段が、更に、ファイルID毎に、担当者による作業毎に割り当てられた作業IDと作業により割り当てられるソースコードのリビジョンと作業の担当者名とが関連付けられたソースコードプロファイルデータを記憶装置に記憶し、ソースコード修正プロファイル記憶手段は、更に、修正ID毎に、ファイルIDとリビジョンとが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶し、原因潜在ソースコード検出手段は、ソースコード修正プロファイル記憶手段によって記憶されたソースコード修正プロファイルデータを読み出し、ファイルIDとリビジョンとを利用者に選択させ、記憶装置からソースコードプロファイルデータを読み出し、選択されたファイルIDとリビジョンが一致するソースコードプロファイルデータから担当者名及び作業IDを抽出し、抽出した担当者名及び作業IDが一致するファイルID及びリビジョンをソースコードプロファイルデータから抽出し、抽出されたファイルID及びリビジョンに対応するソースコードプロファイルデータを出力することを要旨とする。
【0014】
上記目的を達成するため、本発明に係る最適化支援プログラムの第3の特徴は、コンピュータに、更に、ソースコードの不具合を発生させる原因毎に割り当てられた原因パターンIDに、ソースコードの不具合の原因情報を含む原因データが関連付けられた原因パターンファイルデータを記憶装置に記憶する原因パターン記憶手段として機能させ、ソースコードプロファイル記憶手段は、更に、ファイルID毎に、担当者による作業毎に割り当てられたソースコードのリビジョンが関連付けられたソースコードプロファイルデータを記憶装置に記憶し、ソースコード修正プロファイル記憶手段は、更に、修正IDに、原因パターンIDとファイルIDとリビジョンとが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶し、原因潜在ソースコード検出手段は、ソースコード修正プロファイル記憶手段によって記憶されたソースコード修正プロファイルデータを読み出し、原因パターンIDを利用者に選択させ、記憶装置から原因パターンファイルデータを読み出し、読み出した原因パターンファイルデータから選択された原因パターンIDが一致する原因パターンファイルデータを抽出し、抽出された原因パターンファイルデータから原因データを利用者に選択させ、読み出した原因パターンファイルデータから選択された原因データに一致する他の原因パターンIDを抽出し、読み出した前記ソースコード修正プロファイルデータから抽出された原因パターンIDが一致するソースコード修正プロファイルデータを抽出し、抽出されたソースコード修正プロファイルデータからファイルID及びリビジョンを抽出し、記憶装置からソースコードプロファイルデータを読み出し、読み出したソースコードプロファイルデータから抽出されたファイルID及びリビジョンが一致するソースコードプロファイルデータを抽出して出力することを要旨とする。
【0015】
上記目的を達成するため、本発明に係る最適化支援プログラムの第4の特徴は、ソースコード修正プロファイル記憶手段は、ソースコード修正プロファイルデータに加え、利用者によりソースコードの修正内容が評価された評価結果データと修正パターンIDとが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶し、コンピュータに、更に、ソースコードの修正方法を分類した修正パターンに一意に割り当てられた修正パターンIDとソースコードの修正を行う対象名と修正日と修正した動機データと担当者の所属組織名とが関連付けられた修正パターンファイルデータを記憶装置に記憶する修正パターン記憶手段と、ソースコード修正プロファイル記憶手段によって記憶されたソースコード修正プロファイルデータを読み出し、原因パターンIDを利用者に選択させ、選択された原因パターンIDが一致するソースコード修正プロファイルデータを抽出し、抽出されたソースコード修正プロファイルデータから評価結果データ及び修正パターンIDを抽出し、抽出された評価結果データを集計し、集計した結果に基づいて、抽出された修正パターンIDに対応する修正パターンファイルデータを出力する最適修正方法登録管理手段として機能させることを要旨とする。
【0016】
上記目的を達成するため、本発明に係る最適化支援プログラムの第5の特徴は、コンピュータを、ソースコードの修正方法を分類した修正パターンに一意に割り当てられた修正パターンIDとソースコードの修正を行う対象名と修正日と修正した動機データと担当者の所属組織名とが関連付けられた修正パターンファイルデータを記憶装置に記憶する修正パターン記憶手段と、ソースコードの修正内容毎に割り当てられた修正IDとソースコードの不具合を発生させる原因毎に割り当てられた原因パターンIDと利用者によりソースコードの修正内容が評価された評価結果データと修正パターンIDとが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶するソースコード修正プロファイル記憶手段と、ソースコード修正プロファイル記憶手段によって記憶されたソースコード修正プロファイルデータを読み出し、原因パターンIDを利用者に選択させ、選択された原因パターンIDが一致するソースコード修正プロファイルデータを抽出し、抽出されたソースコード修正プロファイルデータから評価結果データ及び修正パターンIDを抽出し、抽出された評価結果データを集計し、集計した結果に基づいて、抽出された修正パターンIDに対応する修正パターンファイルデータを出力する最適修正方法登録管理手段として機能させることを要旨とする。
【発明の効果】
【0017】
本発明に係る最適化支援プログラムによれば、ソースコードを最適化するための知見を蓄積し、ソースコードの修正指針を提示することができる。
【発明を実施するための最良の形態】
【0018】
以下、本発明の実施の形態に係る最適化支援装置について図面を参照して説明する。ここで、本実施形態に係る最適化支援装置は、最適化支援プログラムがコンピュータに実装されることによって実現される。
【0019】
図1は、本実施形態に係る最適化支援装置を示したブロック図である。
【0020】
図1に示すように本実施形態に係る最適化支援装置1は、中央演算処理装置101、記憶装置107及び入出力インタフェース109を備えている。
【0021】
中央演算処理装置101は、記憶装置107にデータを記憶するソースコードプロファイル記憶手段11、ソースコードの変更履歴を読み込む変更履歴読み込み手段12、原因パターン記憶手段13、ソースコード修正プロファイル記憶手段14、修正パターン記憶手段15、潜在するソースコードの不具合の原因を含むソースコードプロファイルデータを検索する原因潜在ソースコード検出手段16、ソースコードの最適な修正方法を提示し、又は利用者による最適な修正方法の登録を受け付ける最適修正方法登録管理手段17とを備えている。
【0022】
記憶装置107は、ソースコードプロファイルデータベース21(以下、ソースコードプロファイルDB21と示す)、原因パターンデータベース22(以下、原因パターンDB22と示す)、ソースコード修正プロファイルデータベース23(以下ソースコード修正プロファイルD23Bと示す)、修正パターンデータベース24(以下、修正パターンDB24と示す)、及び最適修正方法データベース25(以下、最適修正方法DB25と示す)を記憶している。
【0023】
図2に示すように、本実施形態に係る最適化支援装置1は、中央演算処理装置101、ROM(Read Only Memory)102、RAM(Random Access Memory)103および入出力インタフェース109が、バス110を介して接続されている。入出力インタフェース109には、入力装置104、表示装置105、通信制御装置106、記憶装置107およびリムーバブルディスク108が接続されている。
【0024】
中央演算処理装置101は、入力装置104からの入力信号に基づいてROM102から最適化支援装置1を起動するためのブートプログラムを読み出して実行し、更に記憶装置107に記憶されたオペレーティングシステムを読み出す。更に中央演算処理装置101は、入力装置104や通信制御装置106などの入力信号に基づいて、各種装置の制御を行ったり、RAM103や記憶装置107などに記憶されたプログラムおよびデータを読み出してRAM103にロードするとともに、RAM103から読み出されたプログラムのコマンドに基づいて、データの計算または加工など、後述する一連の処理を実現する処理装置である。
【0025】
入力装置104は、操作者が各種の操作を入力するキーボード、マウスなどの入力デバイスにより構成されており、操作者の操作に基づいて入力信号を作成し、入出力インタフェース109およびバス110を介して中央演算処理装置101に送信される。表示装置105は、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどであり、中央演算処理装置101からバス110および入出力インタフェース109を介して表示装置105において表示させる出力信号を受信し、例えば中央演算処理装置101の処理結果などを表示する装置である。
【0026】
通信制御装置106は、LANカードやモデムなどの装置であり、最適化支援装置1をインターネットやLANなどの通信ネットワークに接続する装置である。通信制御装置106を介して通信ネットワークと送受信したデータは入力信号または出力信号として、入出力インタフェースおよびバス110を介して中央演算処理装置101に送受信される。
【0027】
記憶装置107は半導体記憶装置や磁気ディスク装置であって、中央演算処理装置101で実行されるプログラムやデータが記憶されている。リムーバブルディスク108は、光ディスクやフレキシブルディスクのことであり、ディスクドライブによって読み書きされた信号は、入出力インタフェース109およびバス110を介して中央演算処理装置101に送受信される。
【0028】
本実施形態に係る最適化支援装置1の記憶装置107には、最適化支援プログラムが記憶されるとともに、ソースコードプロファイルDB21、原因パターンDB22、ソースコード修正プロファイルDB23、修正パターンDB24、及び最適修正方法DB25が記憶される。また、最適化支援プログラムが最適化支援装置1の中央演算処理装置101に読み込まれ実行されることによって、ソースコードプロファイル記憶手段11、変更履歴読込手段12、原因パターン記憶手段13、ソースコード修正プロファイル記憶手段14、修正パターン記憶手段15、原因潜在ソースコード検出手段16、最適修正方法登録管理手段17が最適化支援装置1に実装される。
【0029】
なお、本実施形態に係る最適化支援装置1は、1つのコンピュータによって実現されても良いし、互いに通信可能な複数のコンピュータによって実現されてもよい。
【0030】
ソースコードプロファイル記憶手段11は、ソースコードに一意に割り当てられたファイルID毎にソースコードの属性データが関連付けられたソースコードプロファイルデータをソースコードプロファイルDB21のデータとして記憶する。
【0031】
具体的には、ソースコードプロファイル記憶手段11は、ソースコードに一意に割り当てられるファイルID、ソースコードの名称、機能概要、ソースコードのリビジョン、日付、変更状態、担当者名、担当者による作業毎に割り当てられた作業ID及びコメントが関連付けられたソースコードプロファイルデータをソースコードプロファイルDB21のデータとして記憶する。
【0032】
図3は、ソースコードプロファイルDB21のデータとして記憶するソースコードプロファイルデータの一例を示す。
【0033】
図3では、ファイル情報として、ファイルID、ファイル名、機能概要が関連付けられ、ファイルID毎に新規作成又は更新履歴として、リビジョン、日付、変更状態、担当者、作業ID、コメントが関連付けられている。
【0034】
このソースコードプロファイルデータにより、例えば、ファイルID“FILE001−001”であるファイルは、リビジョン“1.02”として、“2003年9月12日”に“東芝次郎”という担当者によって、作業ID“BUG006−003”という作業で、“MODIFY(変更)”されていることが分かる。
【0035】
なお、このソースコードプロファイルデータは、例えば、最適化支援装置1の利用者によって入力装置104から入出力インタフェース109を介して入力される。
【0036】
原因パターン記憶手段13は、ソースコードの不具合を発生させる原因毎に割り当てられた原因パターンIDにソースコードの不具合の原因情報を含む原因データが関連付けられた原因パターンファイルデータを原因パターンDB22のデータとして記憶する。
【0037】
具体的には、原因パターン記憶手段13は、ソースコードの不具合を発生させる原因を分類した原因パターンに一意に割り当てられた原因パターンIDとこの原因となるソースコードを作成した担当者名とソースコードの不具合を発生させる原因の対象名と発生日と原因となるソースコードを作成した動機データと担当者の所属組織名とが関連付けられた原因パターンファイルデータを原因パターンDB22のデータとして記憶する。
【0038】
さらに、原因明細IDと原因パターンIDと不具合を発生させる原因となるソースコードを作成した担当者の行動内容データと補足事項データが関連付けられた原因詳細情報データを原因パターンDBのデータとして記憶する。なお、原因パターンファイルデータと原因詳細情報データは、原因パターンIDによって関連付けられている。
【0039】
図4は、原因パターンDB22のデータとして記憶された原因パターンファイルデータ及び原因詳細情報データの一例を示す。
【0040】
図4では、原因パターンIDを主キー(以下、PKと示す)として、担当者名、ソースコードの不具合を発生させる原因の対象、発生日、場所、原因となるソースコードを作成した動機データが関連付けて記憶されており、原因パターンIDを外部キー(以下、FKと示す)として原因詳細情報データの原因詳細ID、行動内容データ、補足事項データが結合されている。
【0041】
この原因パターンファイルデータにより、例えば、原因パターンIDが“C003−001”において、“A社”所属の“東芝太郎”という担当者が、“1980年”に“ファイル”という対象を“コピー”したという原因のパターンが記憶されていることが分かる。
【0042】
このように、ソースコードの不具合を発生させる原因を原因パターンファイルデータとして記憶することにより、ソースコードのコンパイル時や実行プログラムの実行時にソースコードの不具合を検出する以前に、後述する原因潜在ソースコード検出手段16が、潜在するソースコードの不具合の原因を抽出することができる。
【0043】
また、原因パターンファイルデータで、ソースコードの不具合の原因が、WHEN(いつ)、WHERE(どこで)、WHO(誰が)、WHAT(何を)、WHY(なぜ)、HOW(どうやって)の5W1Hに構造化されて記憶されることによって、後述する原因潜在ソースコード検出手段16がより詳細にソースコードの不具合を発生させる原因の抽出を行うことができる。
【0044】
なお、この原因パターンファイルデータは、例えば、最適化支援装置1の管理者によって入力装置104から入出力インタフェース109を介して入力される。
【0045】
修正パターン記憶手段15は、修正パターンIDとソースコードの修正方法が関連付けられた修正パターンファイルデータを修正パターンDB24のデータとして記憶する。
【0046】
具体的には、ソースコードの修正方法を分類した修正パターンに一意に割り当てられた修正パターンIDとソースコード内に存在するサブルーチンや関数等の修正を行う対象名と修正日と修正した動機データと担当者の所属組織名とが関連付けられた修正パターンファイルデータを修正パターンDB24のデータとして記憶する。
【0047】
さらに、修正パターン記憶手段15は、修正明細IDと修正パターンIDと修正した担当者の行動内容データとが関連付けられた修正詳細情報データを修正パターンDB24のデータとして記憶する。なお、修正パターンファイルデータと修正詳細情報データは、修正パターンIDによって関連付けられている。
【0048】
図5は、修正パターンDB24のデータとして記憶された修正パターンファイルデータ及び修正詳細情報データの一例を示す。
【0049】
図5では、修正パターンIDをPKとして、担当者名、修正の対象、作業日、担当者の所属組織を示す場所データ、修正を行った動機データが関連付けて記憶されており、修正パターンIDをFKとして修正詳細情報データの修正詳細ID、作業内容データ、補足事項データが結合されている。
【0050】
この修正パターンファイルデータにより、例えば、修正パターンIDが“AAA−002”において、“Z社”所属の“修正次郎”という担当者が、“関数”という対象を“共通化”するという修正のパターンが記憶されていることが分かる。
【0051】
この修正パターンファイルデータは、例えば、最適化支援装置1の管理者によって入力装置104から入出力インタフェース109を介して入力される。
【0052】
ソースコード修正プロファイル記憶手段14は、ソースコードの修正内容単位毎に割り当てられた修正ID毎に修正対象のソースコードの修正情報を含む修正内容データが関連付けられたソースコード修正プロファイルデータをソースコード修正プロファイルDB23のデータとして記憶する。
【0053】
具体的には、ソースコードの修正内容単位毎に割り当てられた修正ID毎に、原因ID、原因パターン、原因詳細、対応内容、修正コスト、予測効果、結果及び適用修正パターンが関連付けられた修正情報データと、修正ID、ファイルID、ファイル名及び行番号が関連付けられた修正ファイル情報データとをソースコード修正プロファイルDB23のデータとして記憶する。なお、修正情報データと修正ファイル情報データは、修正IDによって関連付けられ、ソースコード修正プロファイルデータを構成している。
【0054】
図6は、ソースコード修正プロファイルDB23のデータとして記憶されたソースコード修正プロファイルデータの一例を示す。
【0055】
図6では、修正IDをPKとして、原因ID、原因パターン、原因詳細、対応、修正コスト、予測効果、結果、適用修正パターンが関連付けて記憶されており、修正パターンIDをFKとして修正ファイル情報データのファイルID、ファイル名、行番号、リビジョンが結合されている。
【0056】
このソースコード修正プロファイルデータにより、例えば、修正ID“016”において、ファイルID“FILE002−001”のリビジョン“2.06”、ファイルID“FILE002−002”のリビジョン“1.07”、及びファイルID“FILE002−003”のリビジョン“2.02”に原因IDが“C003−003”である同一の原因パターンが含まれていることが分かる。
【0057】
このように、原因IDと適用修正パターンを関連付けることにより、後述する最適修正方法登録管理手段17は、原因パターンに対して最も適した修正パターンファイルデータを提示することができる。
【0058】
なお、このソースコード修正プロファイルデータは、例えば、最適化支援装置1の利用者によって入力装置104から入力インターフェースを介して入力される。
【0059】
図7は、上述したソースコードプロファイルDB21、原因パターンDB22、ソースコード修正プロファイルDB23、修正パターンDB24、及び最適修正方法DB25のER図である。
【0060】
図7に示すように、ソースコード修正プロファイルDB23はファイルIDによりソースコードプロファイルDB21と連関し、原因パターンDB22は、原因パターンIDによりソースコード修正プロファイルDB23と連関し、修正パターンDB24は、修正パターンIDによりソースコード修正プロファイルDB23と連関している。
【0061】
このように互いのデータベースが連関することによって、後述の原因潜在ソースコード検出手段16が、ソースコードの不具合を発生させる原因を含むソースコードプロファイルデータを抽出し、最適修正方法登録管理手段17が、利用者によって選択された原因パターンに対して最適な修正パターンを抽出することができる。
【0062】
次に、本実施形態に係る最適化支援装置1の処理について説明する。
【0063】
図8は、本実施形態に係る最適化支援装置1の処理フローを示したフローチャートである。
【0064】
まず、ソースコードプロファイル記憶手段11は、ステップS101、S102において、入出力インタフェース109から利用者によるソースコードプロファイルの登録要求を受け付け、新たなソースコードプロファイルの新規登録、又は変更登録を行う。
【0065】
そして、ステップS103において、利用者が他ソフトウェア等を用いて、ソースコードの不具合を調査し発見する。
【0066】
次に、ステップS104において、利用者によって発見されたソースコードの不具合と同様の不具合が潜在している他のソースコードを抽出する要求を受け付けた場合は、ステップS105で、原因潜在ソースコード検出手段16が、不具合を発生させる原因を含むソースコードのデータとしてソースコードプロファイルを出力する。
【0067】
このステップS104乃至S105における原因潜在ソースコード検出手段16による原因潜在ソースコード検出処理については、後述する。
【0068】
次に、ステップS106において、利用者によって発見されたソースコードの不具合の原因の登録要求が入出力インタフェース109から入力されると、ソースコード修正プロファイル記憶手段14は、ソースコード修正プロファイルデータの更新登録を行う。
【0069】
そして、ステップS107において、利用者による発見したソースコードの不具合の原因パターンの登録要求を受け付けた場合、ステップS108において、原因パターン記憶手段13は、新たな原因パターンファイルデータの新規登録を行う。
【0070】
次に、ステップS109において、利用者によって発見されたソースコードの不具合の最適な修正方法を検索する要求を受け付けた場合、ステップS110において、最適修正方法登録管理手段17が、利用者によって選択された原因パターンに対して最適な修正パターンファイルデータを出力する。
【0071】
そして、ステップS111において、利用者によりソースコードが修正された後、利用者によるソースコード修正プロファイルデータの適用修正パターンの更新要求を受け付けると、ステップS112において、最適修正方法登録管理手段17は、ソースコード修正プロファイルデータの適用した修正パターンIDの更新登録を行う。
【0072】
さらに、ステップS110で、ソースコード修正プロファイルデータから抽出した評価結果データ及び修正パターンIDの値がnull値である場合、ステップS113乃至S116において、最適修正方法登録管理手段17は、利用者による修正パターンの登録要求、及び最適修正方法の更新要求を受け付け、修正パターンを登録、及び最適修正方法の更新を行う。
【0073】
上記ステップS109乃至S116における最適修正方法登録管理手段17による最適修正方法登録管理処理については、後述する。
【0074】
≪原因潜在ソースコード検出処理≫
次に、原因潜在ソースコード検出手段16による原因潜在ソースコード検出処理について説明する。
【0075】
原因潜在ソースコード検出手段は、記憶装置107に記憶されたソースコード修正プロファイルDB23からソースコード修正プロファイルデータを抽出して読み出し、ファイルIDとリビジョンとを利用者に選択させ、記憶装置107に記憶されたソースコードプロファイルDB21からソースコードプロファイルデータを抽出して読み出し、選択されたファイルIDとリビジョンが一致するソースコードプロファイルデータから担当者名及び作業IDを抽出し、抽出した担当者名及び作業IDが一致するファイルID及びリビジョンをソースコードプロファイルデータから抽出し、抽出されたファイルID及びリビジョンに対応するソースコードプロファイルデータを出力する。
【0076】
図9は、この原因潜在ソースコード検出処理フローの一例を示すフローチャートである。
【0077】
まず、ステップS201において、原因潜在ソースコード検出手段16は、未処理の修正情報データが存在すると判断した場合、ステップS202において、記憶装置107に記憶されたソースコード修正プロファイルDB23からソースコード修正プロファイルデータの修正情報データを抽出して読み出す。
【0078】
具体的には、原因潜在ソースコード検出手段16は、ソースコードの修正内容毎に割り当てられた修正ID毎に、原因ID、原因パターン、原因詳細、対応、修正コスト、予測効果、結果及び適用修正パターンが関連付けられた修正情報データを記憶装置107に記憶されたソースコード修正プロファイルDB23から抽出して読み出す。
【0079】
そして、ステップS203において、原因潜在ソースコード検出手段16は、未処理の修正ファイル情報データが存在すると判断する場合、ステップS204において、記憶装置107に記憶されたソースコード修正プロファイルDB23から抽出して修正ファイル情報データを読み出す。
【0080】
具体的には、原因潜在ソースコード検出手段16は、修正ID、ファイルID、ファイル名及び行番号が関連付けられた修正ファイル情報データを記憶装置107に記憶されたソースコード修正プロファイルDB23から抽出して読み出す。
【0081】
このように、ステップS201乃至S204の処理によって、例えば図6に示すようなソースコード修正プロファイルデータが読み出される。
【0082】
そして、読み出されたソースコード修正プロファイルデータの中からファイルIDとリビジョンとを利用者が選択すると、ステップS205において、原因潜在ソースコード検出手段16は、利用者によって入力されたファイルIDとリビジョンの選択信号を受信し、ステップS206において、受け付けたファイルIDに一致するソースコードプロファイルデータを抽出する。
【0083】
さらにステップS207において、原因潜在ソースコード検出手段16は、抽出したソースコードプロファイルデータの中から、ステップS205で受け付けたリビジョンと一致するソースコードプロファイルデータを記憶装置107に記憶されたソースコードプロファイルDB21から抽出する。
【0084】
例えば図6に示したソースコード修正プロファイルデータにおいて、利用者がファイルID“FILE002−003”、リビジョン“2.02”を選択した場合、原因潜在ソースコード検出手段16は、この選択信号を受け付け、図10に示す記憶装置107に記憶されたソースコードプロファイルDB21から、ファイルIDが“FILE002−003”、リビジョンが“2.02”であるソースコードプロファイルデータを抽出する。
【0085】
次に、ステップS208において、原因潜在ソースコード検出手段16は、抽出されたソースコードプロファイルデータから担当者名及び作業IDを抽出する。
【0086】
図10に示す例では、原因潜在ソースコード検出手段16は、ファイルIDが“FILE002−003”、リビジョンが“2.02”であるソースコードプロファイルデータから担当者名“東芝四郎”、及び作業ID“ABC006−012”を抽出する。
【0087】
そして、ステップS209、S210において、原因潜在ソースコード検出手段16は、抽出した担当者名及び作業IDが一致するファイルID及びリビジョンをソースコードプロファイルDB21から抽出し、抽出されたファイルID及びリビジョンに対応するソースコードプロファイルデータを出力する。
【0088】
図11は、検索したファイルID及びリビジョンに対応するソースコードプロファイルデータを含むソースコードプロファイルデータの一例を示す。
【0089】
図11に示す例では、原因潜在ソースコード検出手段16は、担当者名“東芝四郎”、及び作業ID“ABC006−012”と一致するファイルID及びリビジョンをソースコードプロファイルデータDB21から抽出し、この検索条件に該当するファイルID“FILE015−006”、及びリビジョン“1.07”であるソースコードプロファイルを出力する。
【0090】
以上のように、ソースコード修正プロファイルデータから、ファイルIDとリビジョンとを利用者に選択させ、選択されたファイルIDとリビジョンが一致するソースコードプロファイルデータから担当者名及び作業IDを抽出し、抽出した担当者名及び作業IDが一致するファイルID及びリビジョンをソースコードプロファイルデータから抽出し、抽出されたファイルID及びリビジョンに対応するソースコードプロファイルデータを出力することによって、同一人によって修正されたソースコードのソースコードプロファイルデータを漏れなく抽出することができ、潜在するソースコードの不具合の原因を含むソースコードプロファイルデータを発見することが可能になる。
【0091】
また、原因潜在ソースコード検出手段16は、原因パターンファイルデータの情報を基に、潜在するソースコードの不具合の原因を含むソースコードプロファイルデータを発見することができる。
【0092】
具体的には、原因潜在ソースコード検出手段16は、記憶手段107に記憶されたソースコード修正プロファイルDB23からソースコード修正プロファイルデータを抽出して読み出し、原因パターンIDを利用者に選択させ、記憶装置107に記憶された原因パターンDB22から原因パターンファイルデータを抽出して読み出し、読み出した原因パターンファイルデータから選択された原因パターンIDが一致する原因パターンファイルデータを抽出し、抽出された原因パターンファイルデータから原因データを利用者に選択させ、読み出した原因パターンファイルデータから選択された原因データに一致する他の原因パターンIDを抽出し、読み出したソースコード修正プロファイルデータから抽出された原因パターンIDが一致するソースコード修正プロファイルデータを抽出し、抽出されたソースコード修正プロファイルデータからファイルID及びリビジョンを抽出し、記憶装置107に記憶したソースコードプロファイルDB21からソースコードプロファイルデータを抽出して読み出し、読み出したソースコードプロファイルデータから抽出されたファイルID及びリビジョンが一致するソースコードプロファイルデータを抽出して出力する。
【0093】
図12は、記憶装置107に記憶されたソースコード修正プロファイルDB23から読み出されたソースコード修正プロファイルデータの一覧を表示した画面の一例である。
【0094】
図12に示すソースコード修正プロファイル一覧画面P101から、利用者によって修正IDが選択され、類似障害検索ボタンB101が押下操作されると、原因潜在ソースコード検出手段16は、修正IDの選択信号を受付け、受け付けた修正IDに関連付けられている原因パターンIDに一致する原因パターンファイルデータを記憶装置107に記憶された原因パターンDB22から抽出する。
【0095】
図12では、修正ID“0016”に対応するソースコード修正プロファイルデータが選択されているので、原因潜在ソースコード検出手段16は、修正ID“0016”に関連付けられている原因パターンID“C003−003”に一致する原因パターンファイルデータを記憶装置107に記憶された原因パターンDB22から抽出し、図13に示すような原因パターン検索入力画面P102を表示させる。
【0096】
図13では、原因パターンDB22から抽出された原因パターンID“C003−003”に対応する原因データを表示しており、さらに、抽出された原因パターンデータファイルの各原因データを検索条件として設定できるように、検索条件の入力欄を設けている。この入力欄は、抽出された原因パターンID“C003−003”に対応する原因データを表示しているが、利用者が手動にて原因データを修正してもよい。
【0097】
そして、利用者が、図13に示す原因パターン検索入力画面P102の検索条件の入力欄から、抽出したい原因データにチェックをし、検索ボタンB102を押下操作すると、検索条件の入力欄のうち、「発生日」と「場所」の原因データにチェックが入っている。そのため、原因潜在ソースコード検出手段16は、記憶装置107に記憶された原因パターンDB22から、発生日が“1995”〜“1995”であり、場所が“B社”である他の原因パターンファイルデータを抽出する。
【0098】
次に、原因潜在ソースコード検出手段16は、抽出された原因パターンファイルデータから原因IDを抽出し、抽出された原因パターンIDが一致するソースコード修正プロファイルデータを記憶装置107に記憶されたソースコード修正プロファイルDB23から抽出し、抽出されたソースコード修正プロファイルデータからファイルID及びリビジョンを抽出し、抽出されたファイルID及びリビジョンを抽出し、抽出されたファイルID及びリビジョンが一致するソースコードプロファイルデータを記憶装置107に記憶されたソースコードプロファイルDB21から抽出し、抽出されたソースコードプロファイルデータを図14に示すような検索結果一覧画面P103に表示させる。
【0099】
図14では、抽出されたファイルIDに対応するソースコードプロファイルデータが一覧で出力されている。
【0100】
このように、原因潜在ソースコード検出手段16が、ソースコード修正プロファイルデータから利用者によって選択された原因パターンIDを基に、原因パターンファイルデータを抽出し、抽出された原因パターンファイルデータから原因データを利用者に選択させ、選択された原因データが一致する他の原因パターンIDを抽出し、抽出した原因パターンIDを基に、この原因パターンIDに関連するファイルID及びリビジョンのソースコードプロファイルデータを出力することによって、原因パターンファイルデータの情報を基に、潜在するソースコードの不具合の原因を含むソースコードプロファイルを発見することができる。
【0101】
さらに、利用者が、図14に示す検索結果一覧画面P103のソースコードプロファイルデータの一覧の中から、新たに登録したいファイルIDにチェックをし、障害登録ボタンB103を押し釦操作すると、原因潜在ソースコード検出手段16は、ファイルIDの選択信号を受付け、受け付けたファイルIDのソースコードプロファイルデータをソースコード修正プロファイルデータに登録することもできる。
【0102】
図14では、ファイルIDが“FILE004−012”、“FILE004−015”、“FILE005−002”のソースコードプロファイルデータが選択されているので、利用者が障害登録ボタンB103を押し釦操作すると、原因潜在ソースコード検出手段16は、原因パターンID“C003−003”を含むソースコード修正プロファイルデータを記憶装置107に記憶されたソースコード修正プロファイルDB23から抽出し、抽出したソースコード修正プロファイルデータの修正ファイル情報データにファイルID“FILE004−012”、“FILE004−015”、“FILE005−002”のソースコードプロファイルデータを関連付けて登録する。
【0103】
≪最適修正方法管理処理≫
次に、最適修正方法登録管理手段17による最適修正方法管理処理について説明する。
【0104】
最適修正方法登録管理手段17は、記憶装置107に記憶されたソースコード修正プロファイルDB23からソースコード修正プロファイルデータを抽出して読み出し、利用者に原因パターンIDを選択させ、選択された原因パターンIDが一致するソースコード修正プロファイルデータを抽出し、抽出されたソースコード修正プロファイルデータから評価結果データ及び修正パターンIDを抽出し、抽出された評価結果データを集計し、集計した結果に基づいて、抽出された修正パターンIDに対応する修正パターンファイルデータを出力する。
【0105】
図15は、この最適修正方法管理処理フローを示すフローチャートである。
【0106】
まず、ステップS301において、最適修正方法登録管理手段17は、未処理の修正情報データが存在すると判断した場合、ステップS302において、記憶装置107に記憶されたソースコード修正プロファイルDB23からソースコード修正プロファイルデータの修正情報データを抽出して読み出す。
【0107】
具体的には、最適修正方法登録管理手段17は、ソースコードの修正内容毎に割り当てられた修正ID毎に、原因ID、原因パターン、原因詳細、対応、修正コスト、予測効果、結果及び適用修正パターンが関連付けられた修正情報データを記憶装置107に記憶されたソースコード修正プロファイルDB23から抽出して読み出す。
【0108】
そして、ステップS303において、利用者が、読み出されたソースコード修正プロファイルデータの中から、原因パターンIDを選択すると、最適修正方法登録管理手段17は、原因パターンIDの選択信号を受付ける。
【0109】
次に、ステップS304において、最適修正方法登録管理手段17は、未処理の修正ファイル情報データが存在すると判断した場合、ステップS306において、受け付けた原因パターンIDが一致するソースコード修正プロファイルデータを記憶装置107に記憶されたソースコード修正プロファイルDB23から抽出する。
【0110】
図16は、抽出されたソースコード修正プロファイルデータの一例である。
【0111】
最適修正方法登録管理手段17が、記憶装置107に記憶されたソースコード修正プロファイルDBからソースコード修正プロファイルデータを抽出して読み出した後、読み出したソースコード修正プロファイルデータの中から、利用者によって原因パターンID“C003−004”が選択されると、図16に示すように、ソースコード修正プロファイルDB23から、原因パターンIDが“C003−004”である修正ID“016”、“032”、“046”のソースコード修正プロファイルデータが抽出される。
【0112】
そして、ステップS307、S308において、最適修正方法登録管理手段17は、抽出されたソースコード修正プロファイルデータから評価結果データ及び修正パターンIDを抽出し、修正パターンID毎に評価結果データに応じた評価点を加算する。
【0113】
図16では、最適修正方法登録管理手段17は、修正ID“016”、“032”、“046”に対応する評価結果データ“A”、“C”、“B”、及び修正パターンID“003”、“002”、“003”を抽出している。
【0114】
ここで、評価結果データに応じた評価点とは、予め評価結果データが上位である程、高得点となるように設定した点数のことであり、ここでは、評価結果データが“A”である場合、最も良い評価とし、評価点は最高点の“3”点を設定している。同様に、評価結果データが“B”である場合の評価点は“2”点、評価結果データが“C”である場合の評価点は“1”点、評価結果データが“D”である場合の評価点は“0”点、評価結果データが“E”である場合の評価点は“−1”点と設定している。
【0115】
図16では、修正IDが“016”に対応する評価結果データが“A”であるため、評価点は“3”点であり、同様に、修正ID“032”、“046”に対応する各々の評価結果データは“C”、“B”であるため、各々の評価点は“1”点、“2”点である。
【0116】
そして、最適修正方法登録管理手段17が、修正パターンID毎にこの評価点を加算した得点を算出すると、修正パターンID“002”の得点は、“1”点であり、修正パターンID“003”の得点は、“5”点である。
【0117】
そこで、ステップS305において、最適修正方法登録管理手段17は、この加算した評価点に応じて、抽出した修正パターンIDに対応する修正パターンファイルデータを出力する。
【0118】
修正パターンファイルデータの出力は、表示装置105の画面に表示させてもよいし、最適修正方法DB25のデータとして修正パターンファイルデータを記憶するようにしてもよい。
【0119】
図17は、最適修正方法登録管理手段17が出力した修正方針情報データの一例を示す。なお、図17に示す修正方針情報データの修正方針は簡略化して記載しているが、図5示す修正パターンファイルデータのように、修正パターンID、担当者名、修正の対象、作業日、担当者の所属組織を示す場所データ、修正を行った動機データ、修正詳細ID、作業内容データ、補足事項データが関連付けて記憶される。
【0120】
図17では、修正ID“016”及び修正ID“017”に対応する修正方針情報データを示している。
【0121】
このように、修正ID毎に、最適修正方法登録管理手段17にて算出した得点に応じて、修正方針が順位付けて最適修正方法DBの修正方針情報データとして記憶し、修正IDをFKとして記憶装置107に記憶されているソースコード修正プロファイルデータと連関させ、修正パターンIDをFKとして修正パターンファイルデータと連関させて記憶する。
【0122】
以上のように、利用者によって選択された原因パターンIDに基づいて、修正パターンを抽出し、抽出された修正パターンを評価し、この評価に基づいて修正パターンを出力することによって、過去にソースコードの修正を行った実績に基づいて、ソースコードの修正指針を提示することができる。
【0123】
(変形例1)
本実施形態に係る最適化装置では、最適修正方法登録管理手段17が、過去にソースコードの修正を行った実績に基づいて、ソースコードの修正指針を提示するが、変形例1では、過去にソースコードの修正を行った実績が存在しない場合に、原因パターンファイルデータを用いて、修正パターンの候補を出力し、出力した中から利用者によって選択された修正パターンを登録する。
【0124】
具体的には、ソースコード修正プロファイルデータから取得した評価結果データ及び前記修正パターンIDの値がnull値である場合に、原因パターンファイルデータのソースコードの不具合を発生させる原因の対象名、発生日、原因となるソースコードを作成した動機データ、担当者の所属組織名のうち少なくともいずれか1つのデータを利用者に選択させ、選択されたデータに一致する他の原因パターンファイルデータを記憶装置107に記憶された原因パターンDB22から抽出し、抽出された原因パターンファイルデータから原因パターンIDを抽出し、抽出した原因パターンIDが一致するソースコード修正プロファイルデータを記憶装置107に記憶されたソースコード修正プロファイルDB23から抽出し、抽出されたソースコード修正プロファイルデータから修正IDを抽出し、抽出した修正IDが一致する修正パターンファイルデータを記憶装置107に記憶された修正パターンDB24から抽出し、抽出された修正パターンファイルデータからいずれか1つの修正パターンIDを利用者に選択させ、選択された修正パターンIDに対応する修正パターンファイルデータを最適修正方法DB25のデータとして記憶する。
【0125】
図18は、ソースコード修正プロファイルDB23から読み出されたソースコード修正プロファイルデータの一覧を表示した画面である。
【0126】
図18に示すソースコード修正プロファイル一覧画面P201から、利用者によって修正IDが選択され、原因パターン検索ボタンB201が押し釦操作されると、最適修正方法登録管理手段17は、修正IDの選択信号を受付け、受け付けた修正IDに関連付けられている原因パターンIDに一致する原因パターンファイルデータを記憶装置107に記憶された原因パターンDB22から抽出する。
【0127】
図18では、修正ID“0026”に対応するソースコード修正プロファイルデータが選択されているので、最適修正方法登録管理手段17は、修正ID“0026”に関連付けられている原因パターンID“C003−006”に一致する原因パターンファイルデータを記憶装置107に記憶された原因パターンDBから抽出し、図19に示すような原因パターン検索入力画面P202を表示させる。
【0128】
図19では、原因パターンDB22から抽出された原因パターンID“C003−006”に対応する原因パターンファイルデータを表示しており、さらに、抽出された原因パターンファイルデータの原因データを検索条件として設定できるように、検索条件の入力欄を設けている。この入力欄は、抽出された原因パターンID“C003−006”に対応する原因データを表示しているが、利用者が手動にて原因データを修正してもよい。
【0129】
利用者が、図19に示す原因パターン検索入力画面P202の検索条件の入力欄から、抽出したい原因データにチェックをし、検索ボタンB202を押し釦操作すると、原因データの選択信号を受付け、受け付けた原因データに一致する他の原因パターンファイルデータを記憶装置107に記憶された原因パターンDB22から抽出し、抽出された原因パターンファイルデータから原因パターンIDを抽出し、抽出した原因パターンIDが一致するソースコード修正プロファイルデータを記憶装置107に記憶されたソースコード修正プロファイルDB23から抽出し、抽出されたソースコード修正プロファイルデータから修正IDを抽出し、抽出した修正IDが一致する修正パターンファイルデータを記憶装置107に記憶された修正パターンDB24から抽出する。
【0130】
図19では、検索条件の入力欄のうち、「行動」及び「補足」のデータ項目にチェックが入っているため、「行動」が“コピーした”又は“一部をカスタマイズした”である原因パターンIDを抽出し、最終的に抽出した修正パターンファイルデータを図20に示すような検索結果一覧画面P203に表示させる。
【0131】
次に、最適修正方法登録管理手段17は、抽出された修正パターンファイルデータからいずれか1つの修正パターンIDを利用者に選択させ、選択された修正パターンIDに対応する修正パターンファイルデータを最適修正方法DB25のデータとして記憶する。
【0132】
図20では、修正パターンID“AAA−003”に対応する修正パターンファイルデータが選択されているので、利用者が、検索結果一覧画面P203の修正パターンファイルデータの中から、抽出した修正パターンファイルデータにチェックをし、修正パターンコピー登録ボタンB203を押し釦操作すると、最適修正方法登録管理手段17は、修正パターンID“AAA−003”に一致する修正パターンファイルデータを記憶装置107に記憶された修正パターンDB24から抽出し、図21に示すような修正パターン登録画面P204を表示させる。
【0133】
そして、利用者が図21に示す検索結果一覧画面P203の登録ボタンB204を押し釦操作すると、最適修正方法登録管理手段17は、修正パターンID“AAA−003“に対応する修正パターンファイルデータを最適修正方法DB25のデータとして記憶する。
【0134】
このように、過去にソースコードの修正を行った実績が存在しない場合に、原因パターンファイルデータを用いて、修正パターンの候補を出力し、出力した中から利用者によって選択された修正パターンを登録することで、ソースコードを最適化するための技術者の知見を蓄積することができる。
【0135】
(変形例2)
本実施形態に係る最適化支援装置では、ソースコードプロファイル記憶手段11は、最適化支援装置1の利用者によって入力装置104から入出力インタフェース109を介して入力されたソースコードプロファイルデータをソースコードプロファイルDB21のデータとして記憶するが、変型例2では、変更履歴読み込み手段12が、ソースコード内に予め定型で記述されたコメント文を読み込み、読み込んだコメント文をソースコードプロファイルの各項目に分割し、分割したデータをソースコードプロファイルデータとしてソースコードプロファイル記憶手段11に送信し、受信したソースコードプロファイルデータをソースコードプロファイル記憶手段11がソースコードプロファイルDB21のデータとして記憶する。
【0136】
図22は、ソースコード内に予め定型で記述されたコメント文の一例である。
【0137】
図22では、ファイルID“FILE001−001”、ファイル名“Sample.file”、機能概要“設定ファイルを読み込む”が関連付けられて読み込まれ、ファイルID毎に新規作成又は更新履歴として、リビジョン、日付、変更状態、担当者、作業ID、コメントが各々関連付けられて読み込まれる。
【0138】
これにより、最適化支援装置1の利用者は入力作業を省力化することができる。
【図面の簡単な説明】
【0139】
【図1】本実施形態に係る最適化支援装置の構成を示したブロック図である。
【図2】本実施形態に係る最適化支援装置のハードウェア構成を示したハードウェア構成図である。
【図3】本実施形態に係る最適化支援装置の記憶装置に記憶されたソースコードプロファイルデータのデータ構造及びデータの一例である。
【図4】本実施形態に係る最適化支援装置の記憶装置に記憶された原因パターンファイルデータ及び原因詳細情報データのデータ構造及びデータの一例である。
【図5】本実施形態に係る最適化支援装置の記憶装置に記憶された修正パターンファイルデータ及び修正詳細情報データのデータ構造及びデータの一例である。
【図6】本実施形態に係る最適化支援装置の記憶装置に記憶されたソースコード修正プロファイルデータのデータ構造及びデータの一例である。
【図7】本実施形態に係る最適化支援装置で処理するデータのER図である。
【図8】本実施形態に係る最適化支援装置の処理フローを示したフローチャートである。
【図9】本実施形態に係る最適化支援装置の原因潜在ソースコード検出処理フローの一例を示すフローチャートである。
【図10】本実施形態に係る最適化支援装置の原因潜在ソースコード検出手段が抽出したソースコードプロファイルデータのデータ構造及びデータの一例である。
【図11】本実施形態に係る最適化支援装置の原因潜在ソースコード検出手段が抽出したソースコードプロファイルデータのデータ構造及びデータの一例である。
【図12】本実施形態に係る最適化支援装置の原因潜在ソースコード検出手段が表示装置に表示させるソースコード修正プロファイルデータ一覧画面の一例である。
【図13】本実施形態に係る最適化支援装置の原因潜在ソースコード検出手段が表示装置に表示させる原因パターン検索入力画面の一例である。
【図14】本実施形態に係る最適化支援装置の原因潜在ソースコード検出手段が表示装置に表示させる検索結果一覧画面の一例である。
【図15】本実施形態に係る最適化支援装置の最適修正方法管理処理フローを示すフローチャートである。
【図16】本実施形態に係る最適化支援装置の最適修正方法登録管理手段が抽出したソースコード修正プロファイルデータのデータ構造及びデータの一例である。
【図17】本実施形態に係る最適化支援装置の最適修正方法登録管理手段が出力した修正方針情報データのデータ構造及びデータの一例である。
【図18】本実施形態に係る最適化支援装置の最適修正方法登録管理手段が表示装置に表示させるソースコード修正プロファイル一覧画面の一例である。
【図19】本実施形態に係る最適化支援装置の最適修正方法登録管理手段が表示装置に表示させる原因パターン検索入力画面の一例である。
【図20】本実施形態に係る最適化支援装置の最適修正方法登録管理手段が表示装置に表示させる検索結果一覧画面の一例である。
【図21】本実施形態に係る最適化支援装置の最適修正方法登録管理手段が表示装置に表示させる修正パターン登録画面の一例である。
【図22】本実施形態に係る最適化支援装置の変更履歴読込手段が読み込むソースコード内に予め定型で記述されたコメント文の一例である。
【符号の説明】
【0140】
1…最適化支援装置
11…ソースコードプロファイル記憶手段
12…変更履歴読込手段
13…原因パターン記憶手段
14…ソースコード修正プロファイル記憶手段
15…修正パターン記憶手段
16…原因潜在ソースコード検出手段
17…最適修正方法登録管理手段
21…ソースコードプロファイルDB
22…原因パターンDB
23…ソースコード修正プロファイルDB
24…修正パターンDB
25…最適修正方法DB
101…中央演算処理装置
102…ROM
103…RAM
104…入力装置
105…表示装置
106…通信制御装置
107…記憶装置
109…入出力インタフェース
110…バス

【特許請求の範囲】
【請求項1】
プログラムのソースコードを最適化するための技術者の知見を蓄積し、利用者に前記ソースコードの修正指針を提示する最適化支援装置に適用される最適化支援プログラムであって、
コンピュータを、
前記ソースコードに一意に割り当てられたファイルID毎に、前記ソースコードの属性データが関連付けられたソースコードプロファイルデータを記憶装置に記憶するソースコードプロファイル記憶手段と、
前記ソースコードの修正単位毎に割り当てられた修正ID毎に、修正対象のソースコードの修正情報を含む修正内容データが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶するソースコード修正プロファイル記憶手段と、
前記ソースコード修正プロファイル記憶手段によって記憶された前記ソースコード修正プロファイルデータを読み出し、前記利用者によって前記修正内容データが選択されると、前記ソースコードプロファイルデータの属性データの中に選択された修正内容データに関連するデータが含まれるソースコードプロファイルデータのファイルIDを、不具合を発生させる原因を含むソースコードのプロファイル情報として出力する原因潜在ソースコード検出手段
として機能させるための最適化支援プログラム。
【請求項2】
前記ソースコードプロファイル記憶手段は、更に、
前記ファイルID毎に、担当者による作業毎に割り当てられた作業IDと前記作業により割り当てられるソースコードのリビジョンと前記作業の担当者名とが関連付けられたソースコードプロファイルデータを記憶装置に記憶し、
前記ソースコード修正プロファイル記憶手段は、更に、
前記修正ID毎に、前記ファイルIDと前記リビジョンとが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶し、
前記原因潜在ソースコード検出手段は、
前記ソースコード修正プロファイル記憶手段によって記憶された前記ソースコード修正プロファイルデータを読み出し、前記ファイルIDと前記リビジョンとを前記利用者に選択させ、前記記憶装置からソースコードプロファイルデータを読み出し、選択されたファイルIDとリビジョンが一致するソースコードプロファイルデータから前記担当者名及び前記作業IDを抽出し、抽出した担当者名及び作業IDが一致する前記ファイルID及び前記リビジョンを前記ソースコードプロファイルデータから抽出し、抽出されたファイルID及びリビジョンに対応する前記ソースコードプロファイルデータを出力する
ことを特徴とする請求項1に記載の最適化支援プログラム。
【請求項3】
コンピュータに、更に、
前記ソースコードの不具合を発生させる原因毎に割り当てられた原因パターンIDに、前記ソースコードの不具合の原因情報を含む原因データが関連付けられた原因パターンファイルデータを記憶装置に記憶する原因パターン記憶手段として機能させ、
前記ソースコードプロファイル記憶手段は、更に、
前記ファイルID毎に、担当者による作業毎に割り当てられたソースコードのリビジョンが関連付けられたソースコードプロファイルデータを記憶装置に記憶し、
前記ソースコード修正プロファイル記憶手段は、更に、
前記修正IDに、前記原因パターンIDと前記ファイルIDと前記リビジョンとが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶し、
前記原因潜在ソースコード検出手段は、
前記ソースコード修正プロファイル記憶手段によって記憶された前記ソースコード修正プロファイルデータを読み出し、前記原因パターンIDを前記利用者に選択させ、前記記憶装置から原因パターンファイルデータを読み出し、読み出した原因パターンファイルデータから選択された原因パターンIDが一致する前記原因パターンファイルデータを抽出し、抽出された原因パターンファイルデータから原因データを前記利用者に選択させ、読み出した原因パターンファイルデータから選択された原因データに一致する他の原因パターンIDを抽出し、読み出した前記ソースコード修正プロファイルデータから抽出された原因パターンIDが一致するソースコード修正プロファイルデータを抽出し、抽出されたソースコード修正プロファイルデータから前記ファイルID及び前記リビジョンを抽出し、前記記憶装置からソースコードプロファイルデータを読み出し、読み出したソースコードプロファイルデータから抽出されたファイルID及びリビジョンが一致する前記ソースコードプロファイルデータを抽出して出力する
ことを特徴とする請求項1に記載の最適化支援プログラム。
【請求項4】
前記ソースコード修正プロファイル記憶手段は、
前記ソースコード修正プロファイルデータに加え、前記利用者によりソースコードの修正内容が評価された評価結果データと前記修正パターンIDとが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶し、
コンピュータに、更に、
前記ソースコードの修正方法を分類した修正パターンに一意に割り当てられた修正パターンIDとソースコードの修正を行う対象名と修正日と修正した動機データと担当者の所属組織名とが関連付けられた修正パターンファイルデータを記憶装置に記憶する修正パターン記憶手段と、
前記ソースコード修正プロファイル記憶手段によって記憶されたソースコード修正プロファイルデータを読み出し、前記原因パターンIDを前記利用者に選択させ、選択された原因パターンIDが一致する前記ソースコード修正プロファイルデータを抽出し、抽出されたソースコード修正プロファイルデータから前記評価結果データ及び前記修正パターンIDを抽出し、抽出された評価結果データを集計し、集計した結果に基づいて、抽出された修正パターンIDに対応する前記修正パターンファイルデータを出力する最適修正方法登録管理手段
として機能させることを特徴とする請求項1乃至3いずれか1項記載の最適化支援プログラム。
【請求項5】
プログラムのソースコードを最適化するための技術者の知見を蓄積し、利用者に前記ソースコードの修正指針を提示する最適化支援装置に適用される最適化支援プログラムであって、
コンピュータを、
前記ソースコードの修正方法を分類した修正パターンに一意に割り当てられた修正パターンIDとソースコードの修正を行う対象名と修正日と修正した動機データと担当者の所属組織名とが関連付けられた修正パターンファイルデータを記憶装置に記憶する修正パターン記憶手段と、
前記ソースコードの修正内容毎に割り当てられた修正IDと前記ソースコードの不具合を発生させる原因毎に割り当てられた原因パターンIDと前記利用者によりソースコードの修正内容が評価された評価結果データと前記修正パターンIDとが関連付けられたソースコード修正プロファイルデータを記憶装置に記憶するソースコード修正プロファイル記憶手段と、
前記ソースコード修正プロファイル記憶手段によって記憶されたソースコード修正プロファイルデータを読み出し、前記原因パターンIDを前記利用者に選択させ、選択された原因パターンIDが一致する前記ソースコード修正プロファイルデータを抽出し、抽出されたソースコード修正プロファイルデータから前記評価結果データ及び前記修正パターンIDを抽出し、抽出された評価結果データを集計し、集計した結果に基づいて、抽出された修正パターンIDに対応する前記修正パターンファイルデータを出力する最適修正方法登録管理手段と
して機能させるための最適化支援プログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate