(57)【要約】共有プログラムの更新に伴うプログラムの動作検証時に、検証対象のプログラムで検証が必要な機能に関する情報を提示する。  影響度算出部１０２が、プログラムファイル間の参照関係を基に、更新対象の共有ファイルを直接または間接的に参照する共有ファイルにおける、当該更新対象の共有ファイルの更新による影響度を算出し、検証支援情報生成部１０３が、参照関係と影響度とを基に、検証対象のアプリケーションファイルが直接または間接的に参照する共有ファイルの中から、影響度が所定値以上である共有ファイルを検出し、当該共有ファイルに含まれる関数に関する情報を、検証対象のアプリケーションファイルで検証が必要な機能の情報として出力する。
2012036304.tif 000002
【特許請求の範囲】
【請求項１】
プログラムファイル記憶手段に記憶された複数のプログラムファイル間の参照関係を検出する参照関係検出手段と、
前記参照関係を基に、前記複数のプログラムファイルの内の第１のプログラムファイルを直接または間接的に参照するプログラムファイルにおける、当該第１のプログラムファイルの更新による影響度を算出する影響度算出手段と、
前記参照関係と前記影響度とを基に、前記第１のプログラムファイルを直接または間接的に参照するプログラムファイルの内の第２のプログラムファイルが直接または間接的に参照するプログラムファイルの中から、前記影響度が所定値以上である第３のプログラムファイルを検出し、当該第３のプログラムファイルに含まれる関数に関する情報を、前記第２のプログラムファイルで検証が必要な機能の情報として出力する検証支援情報生成手段と、
を含む動作検証支援装置。
【請求項２】
前記影響度は、当該影響度を算出する対象のプログラムファイルが前記第１のプログラムファイルを直接参照する場合に最大となり、当該影響度を算出する対象のプログラムファイルが前記第１のプログラムファイルを間接的に参照する場合、前記参照関係における当該第１のプログラムファイルと当該影響度を算出する対象のプログラムファイルとの間の他のプログラムファイルの数に応じて減少する
請求項１記載の動作検証支援装置。
【請求項３】
前記検証対象関数出力手段は、前記第３のプログラムファイルに含まれる関数に関する情報として、前記第３のプログラムファイルに含まれる関数が提供する機能を出力する
請求項１または２に記載の動作検証支援装置。
【請求項４】
前記検証対象関数出力手段は、前記第２のプログラムファイルが前記第３のプログラムファイルを直接参照している場合、当該第３のプログラムファイルに含まれる関数の内、当該第２のプログラムファイルが使用する関数に関する情報を出力する
請求項１乃至３のいずれかに記載の動作検証支援装置。
【請求項５】
プログラムファイル記憶手段に記憶された複数のプログラムファイル間の参照関係を検出し、
前記参照関係を基に、前記複数のプログラムファイルの内の第１のプログラムファイルを直接または間接的に参照するプログラムファイルにおける、当該第１のプログラムファイルの更新による影響度を算出し、
前記参照関係と前記影響度とを基に、前記第１のプログラムファイルを直接または間接的に参照するプログラムファイルの内の第２のプログラムファイルが直接または間接的に参照するプログラムファイルの中から、前記影響度が所定値以上である第３のプログラムファイルを検出し、当該第３のプログラムファイルに含まれる関数に関する情報を、前記第２のプログラムファイルで検証が必要な機能の情報として出力する
動作検証支援方法。
【請求項６】
前記影響度は、当該影響度を算出する対象のプログラムファイルが前記第１のプログラムファイルを直接参照する場合に最大となり、当該影響度を算出する対象のプログラムファイルが前記第１のプログラムファイルを間接的に参照する場合、前記参照関係における当該第１のプログラムファイルと当該影響度を算出する対象のプログラムファイルとの間の他のプログラムファイルの数に応じて減少する
請求項５記載の動作検証支援方法。
【請求項７】
コンピュータに、
プログラムファイル記憶手段に記憶された複数のプログラムファイル間の参照関係を検出し、
前記参照関係を基に、前記複数のプログラムファイルの内の第１のプログラムファイルを直接または間接的に参照するプログラムファイルにおける、当該第１のプログラムファイルの更新による影響度を算出し、
前記参照関係と前記影響度とを基に、前記第１のプログラムファイルを直接または間接的に参照するプログラムファイルの内の第２のプログラムファイルが直接または間接的に参照するプログラムファイルの中から、前記影響度が所定値以上である第３のプログラムファイルを検出し、当該第３のプログラムファイルに含まれる関数に関する情報を、前記第２のプログラムファイルで検証が必要な機能の情報として出力する
処理を実行させる動作検証支援プログラムを格納するコンピュータ読み取り可能な記録媒体。
【請求項８】
前記影響度は、当該影響度を算出する対象のプログラムファイルが前記第１のプログラムファイルを直接参照する場合に最大となり、当該影響度を算出する対象のプログラムファイルが前記第１のプログラムファイルを間接的に参照する場合、前記参照関係における当該第１のプログラムファイルと当該影響度を算出する対象のプログラムファイルとの間の他のプログラムファイルの数に応じて減少する
請求項７記載の動作検証支援プログラムを格納するコンピュータ読み取り可能な記録媒体。
【請求項９】
前記第３のプログラムファイルに含まれる関数に関する情報として、前記第３のプログラムファイルに含まれる関数が提供する機能を出力する
請求項７または８に記載の動作検証支援プログラムを格納するコンピュータ読み取り可能な記録媒体。
【請求項１０】
前記第２のプログラムファイルが前記第３のプログラムファイルを直接参照している場合、前記第３のプログラムファイルに含まれる関数に関する情報として、当該第３のプログラムファイルに含まれる関数の内、当該第２のプログラムファイルが使用する関数に関する情報を出力する
請求項７乃至９のいずれかに記載の動作検証支援プログラムを格納するコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動作検証支援装置、動作検証支援方法、及び動作検証支援プログラムに関し、特にプログラムファイルの更新に伴う動作検証を支援する動作検証支援装置、動作検証支援方法、及び動作検証支援プログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ））をはじめとするコンピュータシステムのプログラムは、機能向上またはバグなどの修正のために、日々更新されている。更新されたプログラムをコンピュータシステムにインストールすることで、コンピュータシステム上に存在するプログラムの機能向上や問題修正が行われる。
このようなプログラムの中で、特に頻繁に更新されるプログラムとして、共有プログラムが存在する。共有プログラムとは、例えばライブラリのように、他のプログラムに機能を提供する（他のプログラムが共有する）プログラムのことである。共有プログラムが更新されることにより、その共有プログラムを使用する他のプログラムの機能の向上や、バグの解決が図られる。
その一方で、プログラムによっては、共有プログラムの特定のバージョンに強く依存する。このような場合、いくら目的が機能向上やバグの修正であったとしても、共有プログラムが更新されることによって、他のプログラムが動かなくなる可能性がある。そのため、例えば、コンピュータシステムの保守を行う保守者は、共有プログラムの更新に伴い、コンピュータシステムの動作検証を行う必要がある。
しかしながら、一般に、このような保守者には、どのプログラムがどの共有プログラムを参照しているのかの情報は提供されておらず、また、更新された共有プログラムを他の共有プログラムが参照していることもあり、保守者が、共有プログラムの更新に伴う影響範囲を予測することは難しい。このため、保守者は、コンピュータシステム上に存在する膨大な数のプログラムを対象として、動作検証を行う必要がある。
この問題を解決するシステムの一例が、特許文献１に記載されている。特許文献１に記載されたソフトウェア開発支援方式では、プログラムの開発プロセス上で生成された各種リソースを各種データベースに登録することにより、あるプログラムが更新されたときの他のプログラムにおける影響の度合い（影響度）、及び、影響の範囲が得られる。この方式を利用すれば、保守者は、共有プログラムが更新されたときに影響を受けるプログラムとその影響度とを知ることができる。従って、保守者は、影響度が大きいプログラムを検証が必要なプログラム（動作検証の対象）とすることにより、コンピュータシステムの動作検証を効率的に行うことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０９−０１６３９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述した特許文献１に記載されたソフトウェア開発支援方式では、共有プログラムが更新されたときの影響度を基に、動作検証の対象であるプログラムを抽出できる。しかしながら、そのプログラムが持っている機能の内、どの機能が共有プログラムの更新により影響を受けるかを判断するための情報は生成されない。そのため、保守者は、動作検証の対象であるプログラムが提供する全ての機能について動作検証を行う必要があった。
本発明の目的は、上述した課題を解決し、共有プログラムの更新に伴うプログラムの動作検証時に、検証対象のプログラムで検証が必要な機能に関する情報を提示する動作検証支援装置、動作検証支援方法、及び動作検証支援プログラムを提供することである。
【課題を解決するための手段】
【０００５】
本発明の一態様における動作検証支援装置は、プログラムファイル記憶手段に記憶された複数のプログラムファイル間の参照関係を検出する参照関係検出手段と、前記参照関係を基に、前記複数のプログラムファイルの内の第１のプログラムファイルを直接または間接的に参照するプログラムファイルにおける、当該第１のプログラムファイルの更新による影響度を算出する影響度算出手段と、前記参照関係と前記影響度とを基に、前記第１のプログラムファイルを直接または間接的に参照するプログラムファイルの内の第２のプログラムファイルが直接または間接的に参照するプログラムファイルの中から、前記影響度が所定値以上である第３のプログラムファイルを検出し、当該第３のプログラムファイルに含まれる関数に関する情報を、前記第２のプログラムファイルで検証が必要な機能の情報として出力する検証支援情報生成手段と、を含む。
本発明の一態様における動作検証支援方法は、プログラムファイル記憶手段に記憶された複数のプログラムファイル間の参照関係を検出し、前記参照関係を基に、前記複数のプログラムファイルの内の第１のプログラムファイルを直接または間接的に参照するプログラムファイルにおける、当該第１のプログラムファイルの更新による影響度を算出し、前記参照関係と前記影響度とを基に、前記第１のプログラムファイルを直接または間接的に参照するプログラムファイルの内の第２のプログラムファイルが直接または間接的に参照するプログラムファイルの中から、前記影響度が所定値以上である第３のプログラムファイルを検出し、当該第３のプログラムファイルに含まれる関数に関する情報を、前記第２のプログラムファイルで検証が必要な機能の情報として出力する。
本発明の一態様におけるコンピュータ読み取り可能な記録媒体は、コンピュータに、プログラムファイル記憶手段に記憶された複数のプログラムファイル間の参照関係を検出し、前記参照関係を基に、前記複数のプログラムファイルの内の第１のプログラムファイルを直接または間接的に参照するプログラムファイルにおける、当該第１のプログラムファイルの更新による影響度を算出し、前記参照関係と前記影響度とを基に、前記第１のプログラムファイルを直接または間接的に参照するプログラムファイルの内の第２のプログラムファイルが直接または間接的に参照するプログラムファイルの中から、前記影響度が所定値以上である第３のプログラムファイルを検出し、当該第３のプログラムファイルに含まれる関数に関する情報を、前記第２のプログラムファイルで検証が必要な機能の情報として出力する処理を実行させる動作検証支援プログラムを格納する。
【発明の効果】
【０００６】
本発明の効果は、共有プログラムの更新に伴うプログラムの動作検証時に、検証対象のプログラムで検証が必要な機能に関する情報を提示できることである。
【図面の簡単な説明】
【０００７】
【図１】本発明の第一の実施の形態の特徴的な構成を示すブロック図である。
【図２】本発明の第一の実施の形態における動作検証支援装置１００の構成を示すブロック図である。
【図３】本発明の第一の実施の形態における動作検証支援装置１００の動作を示すフローチャートである。
【図４】本発明の第一の実施の形態におけるプログラムファイル間の参照関係の例を示す図である。
【図５】本発明の第一の実施の形態における参照関係テーブル１２１の例を示す図である。
【図６】本発明の第一の実施の形態における影響度テーブル１２２の例を示す図である。
【図７】本発明の第一の実施の形態における関数情報１２３の例を示す図である。
【発明を実施するための最良の形態】
【０００８】
（第一の実施の形態）
次に、本発明の第一の実施の形態について図面を参照して詳細に説明する。
はじめに、本発明の第一の実施の形態における動作検証支援装置１００の構成について説明する。図２は、本発明の第一の実施の形態における動作検証支援装置１００の構成を示すブロック図である。
図２を参照すると、本発明の第一の実施の形態における動作検証支援装置１００は、参照関係検出部１０１と、影響度算出部１０２と、検証支援情報生成部１０３と、入出力部１０４と、参照関係記憶部１１１と、影響度記憶部１１２と、関数情報記憶部１１３と、プログラムファイル記憶部２００とを含む。
ここで、プログラムファイル記憶部２００は、例えばＰＣなどのコンピュータシステムの記憶媒体により構成される。プログラムファイル記憶部２００には、Ｗｉｎｄｏｗｓ（登録商標）などのオペレーティングシステムと、そのオペレーティングシステム上で動作するアプリケーションプログラムがインストールされている。
プログラムファイル記憶部２００には、プログラムファイルとして、オペレーティングシステム、または、オペレーティングシステム以外のライブラリ等の共有プログラムを格納する共有ファイル（例えば、Ｗｉｎｄｏｗｓ（登録商標）の場合のｄｌｌファイル）、及び、アプリケーションプログラムを格納するアプリケーションファイル（例えば、Ｗｉｎｄｏｗｓ（登録商標）の場合のｅｘｅファイル）が記憶されている。
アプリケーションファイルのそれぞれは、所定の共有ファイルを直接的に参照する。また、共有ファイルのそれぞれも、他の所定の共有ファイルを直接的に参照する。
ここで、“ファイルＡがファイルＢを直接的に参照する”とは、ファイルＡが、ファイルＢが提供する関数を直接使用していることを意味する。また、“ファイルＡがファイルＢを間接的に参照する”とは、ファイルＡがファイルＣを直接的に参照し、ファイルＣがファイルＤを直接的に参照し、さらに、ファイルＤがファイルＢを直接的に参照している場合のように、ファイルＡとファイルＢとの間で、他のファイルによる直接的な参照が繰り返されることを意味する。以下、単に“参照”または“参照関係”と記載した場合は、特に断りのない限り、直接的な参照または直接的な参照関係を示す。
ここで、アプリケーションファイル及び共有ファイルは、参照する他の共有ファイルの識別子（ファイル名）と、その共有ファイルが提供する関数の内で参照対象である関数の識別子（関数名）とを示す参照ファイル情報１３１を含む。また、共有ファイルは、その共有ファイルがアプリケーションファイルまたは他の共有ファイルに提供する関数名を示す提供関数情報１３２を含む。
例えば、Ｗｉｎｄｏｗｓ（登録商標）の場合、アプリケーションファイル及び共有ファイルは、参照ファイル情報１３１として、インポートセクションを含む。また、共有ファイルは、提供関数情報１３２として、エクスポートセクションを含む。
図４は、本発明の第一の実施の形態におけるプログラムファイル間の参照関係の例を示す図である。図４において、プログラムファイル（アプリケーションファイル、共有ファイル）間の矢印は、参照関係を示す。この場合、ファイル識別子Ａ１のアプリケーションファイル、ファイル識別子Ｌ１、Ｌ２…の共有ファイルには、それぞれ、図４の参照ファイル情報１３１Ａ１、参照ファイル情報１３１Ｌ１、Ｌ２…が含まれる。また、ファイル識別子Ｌ１、Ｌ２…の共有ファイルには、それぞれ、図４の提供関数情報１３２Ｌ１、Ｌ２…が含まれる。
参照関係検出部１０１は、プログラムファイル記憶部２００に記憶された複数のプログラムファイル間の参照関係を検出し、参照関係テーブル１２１を生成する。
参照関係記憶部１１１は、参照関係検出部１０１が生成した参照関係テーブル１２１を記憶する。
図５は、本発明の第一の実施の形態における参照関係テーブル１２１の例を示す図である。参照関係テーブル１２１は、図５に示すように、参照元のプログラムファイルの識別子ごとに参照先のプログラムファイルの識別子を示す。
影響度算出部１０２は、参照関係テーブル１２１を基に、プログラムファイル記憶部２００に記憶された複数のプログラムファイルの内の更新対象の共有ファイル（第１のプログラムファイル）を、直接または間接的に参照するプログラムファイルのそれぞれについて、当該共有ファイルの更新による影響度を算出し、影響度テーブル１２２を生成する。
影響度記憶部１１２は、影響度算出部１０２が生成した影響度テーブル１２２を記憶する。
図６は、本発明の第一の実施の形態における影響度テーブル１２２の例を示す図である。影響度テーブル１２２は、図６に示すように、プログラムファイルの識別子ごとに、更新対象の共有ファイルの更新による影響度を示す。
検証支援情報生成部１０３は、更新対象の共有ファイルを直接または間接的に参照するプログラムファイルの中から検証対象のアプリケーションファイル（第２のプログラムファイル）が指定された場合、参照関係テーブル１２１と影響度テーブル１２２とを基に、当該アプリケーションファイルが直接または間接的に参照する共有ファイルの中から、影響度の大きい共有ファイル（第３のプログラムファイル）を検出する。そして、検証支援情報生成部１０３は、当該影響度の大きい共有ファイルに含まれる関数に関する情報を、当該アプリケーションファイルで検証が必要な機能の情報として出力する。
関数情報記憶部１１３は、プログラムファイル記憶部２００に記憶されたプログラムファイルに含まれる関数が提供する機能の内容を示す関数情報１２３を記憶する。
図７は、本発明の第一の実施の形態における関数情報１２３の例を示す図である。関数情報１２３は、図７に示すように、関数の識別子（関数名）ごとに、その関数が提供する機能や役割等、その関数を説明する情報を示す。
入出力部１０４は、動作検証を行うユーザ（保守者）との入出力インタフェースであり、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）や、キーボード、マウス、スピーカ等を含む。
なお、動作検証支援装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）とプログラムを記憶した記憶媒体を含み、プログラムに基づく制御によって動作するコンピュータであってもよい。また、参照関係記憶部１１１と、影響度記憶部１１２と、関数情報記憶部１１３と、プログラムファイル記憶部２００とは、それぞれ個別の記憶媒体でも、１つの記憶媒体によって構成されてもよい。
この場合、動作検証支援装置１００は、例えば、ＰＣ等のコンピュータシステム上のプログラムとして実現され、参照関係記憶部１１１と、影響度記憶部１１２と、関数情報記憶部１１３と、プログラムファイル記憶部２００とが、当該コンピュータシステムの記憶媒体により構成されていてもよい。
また、プログラムファイル記憶部２００は、動作検証支援装置１００の外部に存在し、動作検証支援装置１００と図示しない接続部、または、ネットワーク等により接続されていてもよい。同様に、関数情報記憶部１１３は、動作検証支援装置１００の外部において提供されるデータベースであってもよい。
次に、本発明の第一の実施の形態における動作検証支援装置１００の動作について説明する。
図３は、本発明の第一の実施の形態における動作検証支援装置１００の動作を示すフローチャートである。
はじめに、参照関係検出部１０１は、プログラムファイル記憶部２００に記憶されたプログラムファイル間の参照関係を検出して参照関係テーブル１２１を生成し、参照関係記憶部１１１に保存する（ステップＳ１０１）。ここで、参照関係検出部１０１は、プログラムファイル記憶部２００に記憶されたプログラムファイルの参照ファイル情報１３１を基に、それぞれのプログラムファイルが参照する共有ファイルを抽出し、参照関係テーブル１２１を生成する。
例えば、参照関係検出部１０１は、図４のようなプログラムファイル間の参照関係に対して、図５のような参照関係テーブル１２１を生成する。
次に、影響度算出部１０２は、参照関係記憶部１１１の参照関係テーブル１２１を基に、更新対象の共有ファイルを直接または間接的に参照するプログラムファイルのそれぞれについて、当該共有ファイルの更新による影響度を算出して影響度テーブル１２２を生成し、影響度記憶部１１２に保存する（ステップＳ１０２）。ここで、更新対象の共有ファイルの識別子は、ユーザが入出力部１０４により指定してもよいし、ユーザが予め設定した、当該更新対象の共有ファイルの識別子を記述したテーブル等により指定してもよい。
本発明の実施の形態では、影響度は、プログラムファイル間の参照関係において、影響度の算出対象であるプログラムファイルが更新対象の共有プログラムを直接参照する場合に最大となり、影響度の算出対象であるプログラムファイルから、更新対象の共有プログラムまでの間に存在する共有プログラムが多いほど小さくなると仮定する。
影響度算出部１０２は、上記前提に従って、例えば、次のルールにより、影響度を算出する。
（１）影響度の算出対象のプログラムファイルが、更新対象の共有ファイルを直接参照している場合、影響度は１である。
（２）影響度は、プログラムファイル間の参照関係において、更新対象の共有ファイルのから影響度の算出対象のプログラムファイルまでの間に存在する共有プログラムの個数が１増えるごとに、半減する。
（３）プログラムファイル間の参照関係において、更新対象の共有ファイルのから影響度の算出対象のプログラムファイルまでの経路が複数存在する場合、当該算出対象のプログラムファイルにおける影響度は、それぞれの経路に対して算出された影響度の総和である。
（４）更新対象の共有ファイルから影響度の算出対象のプログラムファイルまでの経路では、同じ共有プログラムを２回以上経由しない。
例えば、図４のようなプログラムファイル間の参照関係に対して、図５のような参照関係テーブル１２１が生成されており、ファイル識別子Ｌ４の共有ファイルが更新対象の共有ファイルである場合、ファイル識別子Ｌ４の共有ファイルを直接参照するファイル識別子Ｌ１、Ｌ３の共有ファイルの影響度は１．０である。また、ファイル識別子Ｌ４の共有ファイルとファイル識別子Ｌ２の共有ファイルとの間には、１つの共有ファイル（ファイル識別子Ｌ３）が存在するため、ファイル識別子Ｌ２の共有ファイルの影響度は、０．５である。また、ファイル識別子Ｌ４の共有ファイルとファイル識別子Ａ１のアプリケーションファイルとの間には、ファイル識別子Ｌ１の共有ファイルを経由する経路と、ファイル識別子Ｌ２、Ｌ３の共有ファイルを経由する経路の２つが存在する。ファイル識別子Ｌ１の共有ファイルを経由する経路では、１つの共有ファイルが存在するため、影響度は０．５である。ファイル識別子Ｌ２、Ｌ３の共有ファイルを経由する経路では、２つの共有ファイルが存在するため、影響度は０．２５である。ファイル識別子Ａ１のアプリケーションファイルの影響度は、これらを合計した０．７５である。
この結果、影響度テーブル１２２には、図６のように影響度が設定される。
次に、検証支援情報生成部１０３は、入出力部１０４により、検証対象であるアプリケーションファイルの識別子の入力をユーザから受け付ける（ステップＳ１０３）。ここで、検証対象であるアプリケーションファイルは、更新対象の共有ファイルを直接または間接的に参照するアプリケーションファイルであれば任意のアプリケーションファイルでよい。ユーザは、ステップＳ１０２において生成された影響度テーブル１２２を基に、例えば、影響度の大きいアプリケーションファイルを検証対象として選択し、その識別子を入力する。
例えば、検証支援情報生成部１０３は、検証対象のアプリケーションファイルとして、ファイル識別子Ａ１の入力を受け付ける。
次に、検証支援情報生成部１０３は、参照関係記憶部１１１の参照関係テーブル１２１と影響度記憶部１１２の影響度テーブル１２２を基に、当該アプリケーションファイルが直接または間接的に参照する共有ファイルの中から、影響度がユーザ等により予め設定されている所定値以上の共有ファイルを抽出する（ステップＳ１０４）。ここで、検証支援情報生成部１０３は、影響度が最大の共有ファイルを抽出してもよい。
例えば、検証支援情報生成部１０３は、図５の参照関係テーブル１２１と図６の影響度テーブル１２２を基に、ファイル識別子Ａ１のアプリケーションファイルが参照する共有ファイル（ファイル識別子Ｌ１、Ｌ２、Ｌ３）の中から、影響度が１．０以上である、ファイル識別子Ｌ１及びＬ３の共有ファイルを抽出する。
次に、検証支援情報生成部１０３は、ステップＳ１０４にて抽出された共有ファイルの提供関数情報１３２を基に、当該共有ファイルが提供する関数の識別子を抽出する（ステップＳ１０５）。
例えば、検証支援情報生成部１０３は、図４におけるファイル識別子Ｌ１の共有ファイルの提供関数情報１３２を基に、当該共有ファイルが提供する関数の識別子Ｆ１、Ｆ２、Ｆ３、Ｆ４を抽出する。また、検証支援情報生成部１０３は、図４におけるファイル識別子Ｌ３の共有ファイルの提供関数情報１３２を基に、当該共有ファイルが提供する関数の識別子Ｆ７、Ｆ８を抽出する
さらに、検証支援情報生成部１０３は、関数情報記憶部１１３の関数情報１２３を基に、ステップＳ１０５にて抽出された関数の機能の説明を抽出し、検証が必要な機能の情報として、入出力部１０４により出力する（ステップＳ１０６）。
例えば、検証支援情報生成部１０３は、図７の関数情報１２３を基に、関数識別子Ｆ１、Ｆ２、Ｆ３、Ｆ４、Ｆ７、Ｆ８の各関数の機能についての説明を出力する。
これにより、ユーザは、検証対象のアプリケーションファイルの機能の内、ステップＳ１０６にて出力された機能、または、その機能を使用する機能（その機能に関係する機能）に絞って、動作検証を行うことができる。
例えば、検証対象のアプリケーションファイルに格納されているプログラムが、ユーザから入力された複数のコマンドに従って動作し、特定のコマンドが入力された場合に限り、インターネットに接続して、他のコンピュータシステムと通信を行うようなプログラムであり、かつ、ステップＳ１０６にて出力された機能がインターネットの接続に関する機能であった場合、ユーザは、検証対象のアプリケーションファイルに入力するコマンドの内、インターネットへの接続が行われるコマンドに絞って、動作検証を行うことができる。
なお、ユーザが、共有ファイルが提供する関数の識別子から、その関数の機能が類推可能な場合は、ステップＳ１０６において関数の機能の説明を出力する代わりに、関数の識別子をそのまま出力してもよい。
また、ステップＳ１０４にて抽出された、影響度が所定値以上である共有ファイルが、検証対象のアプリケーションファイルが直接参照する共有ファイルであった場合、検証支援情報生成部１０３は、ステップＳ１０５において、検証対象のアプリケーションファイルの参照ファイル情報１３１を基に、共有ファイルが提供する関数の内、検証対象のアプリケーションファイルが参照する関数の識別子のみを抽出してもよい。
例えば、ファイル識別子Ａ１のアプリケーションファイルは、ファイル識別子Ｌ１の共有ファイルを直接参照しているため、検証支援情報生成部１０３は、当該共有ファイルが提供する関数の識別子Ｆ１、Ｆ２、Ｆ３、Ｆ４の内、ファイル識別子Ａ１のアプリケーションファイルが参照する関数の識別子Ｆ１、Ｆ２を抽出する。
これにより、ステップＳ１０６にて出力される検証が必要な機能を、さらに絞り込むことができる。
以上により、本発明の第一の実施の形態の動作が完了する。
次に、本発明の第一の実施の形態の特徴的な構成を説明する。図１は、本発明の第一の実施の形態の特徴的な構成を示すブロック図である。
動作検証支援装置１００は、参照関係検出部１０１と、影響度算出部１０２と、検証支援情報生成部１０３とを含む。
ここで、参照関係検出部１０１は、プログラムファイル記憶部２００に記憶された複数のプログラムファイル間の参照関係を検出する。
影響度算出部１０２は、参照関係を基に、複数のプログラムファイルの内の第１のプログラムファイルを直接または間接的に参照するプログラムファイルにおける、当該第１のプログラムファイルの更新による影響度を算出する。
検証支援情報生成部１０３は、参照関係と影響度とを基に、第１のプログラムファイルを直接または間接的に参照するプログラムファイルの内の第２のプログラムファイルが直接または間接的に参照するプログラムファイルの中から、影響度が所定値以上である第３のプログラムファイルを検出し、当該第３のプログラムファイルに含まれる関数に関する情報を、第２のプログラムファイルで検証が必要な機能の情報として出力する。
本発明の第一の実施の形態によれば、共有プログラムの更新に伴うプログラムの動作検証時に、検証対象のプログラムで検証が必要な機能に関する情報を提示できる。その理由は、影響度算出部１０２が、プログラムファイル間の参照関係を基に、更新対象の共有ファイルを直接または間接的に参照する共有ファイルにおける、当該更新対象の共有ファイルの更新による影響度を算出し、検証支援情報生成部１０３が、参照関係と影響度とを基に、検証対象のアプリケーションファイルが直接または間接的に参照する共有ファイルの中から、影響度が所定値以上である共有ファイルを検出し、当該共有ファイルに含まれる関数に関する情報を、検証対象のアプリケーションファイルで検証が必要な機能の情報として出力するためである。
これにより、ユーザは、検証対象のアプリケーションファイルの機能の内、検証が必要な機能に絞って検証項目を作成できるため、コンピュータシステムの動作検証をより効率的に行うことができる。
また、本発明の第一の実施の形態によれば、プログラムのソースコードや詳細なドキュメントが無くても、共有ファイルの更新に伴う各プログラムファイルにおける影響度を算出できる。その理由は、参照関係検出部１０１が、プログラムファイルに含まれる参照ファイル情報１３１を基に、各プログラムファイルが参照する共有ファイルを抽出して、プログラムファイル間の参照関係を検出し、影響度算出部１０２が、当該参照関係を基に、更新対象の共有ファイルの更新に伴う各プログラムファイルにおける影響度を算出するためである。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
例えば、本発明の第一の実施の形態においては、影響度を、プログラムファイル間の参照関係において、更新対象の共有ファイルから影響度の算出対象のプログラムファイルまでの間に存在する共有プログラムの個数が１増えるごとに半減するように算出しているが、当該個数に応じた所定の固定値を設定する等、当該個数に応じて影響度が減少すれば、他の方法を用いて算出してもよい。
また、本発明の第一の実施の形態においては、更新対象の共有ファイルが１つの場合を例に、プログラムファイルにおける影響度の算出方法を説明したが、更新対象の共有ファイルが複数の場合、それぞれの更新対象について算出された影響度の総和を、当該プログラムファイルにおける影響度としてもよい。
また、本発明の第一の実施の形態においては、検証対象のアプリケーションファイルをユーザが指定するが、検証支援情報生成部１０３が、影響度テーブル１２２を基に、影響度が所定条件を満たすアプリケーションファイルを検証対象として選択してもよい。また、検証支援情報生成部１０３が、複数のアプリケーションファイルのそれぞれを検証対象として順番に選択し、各アプリケーションファイルに対して、検証が必要な機能の情報を出力してもよい。
この出願は、２０１０年９月１６日に出願された日本出願特願２０１０−２０７８７２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
プログラムファイル記憶手段に記憶された複数のプログラムファイル間の参照関係を検出する参照関係検出手段と、
前記参照関係を基に、前記複数のプログラムファイルの内の第１のプログラムファイルを直接または間接的に参照するプログラムファイルにおける、当該第１のプログラムファイルの更新による影響度を算出する影響度算出手段と、
前記参照関係と前記影響度とを基に、前記第１のプログラムファイルを直接または間接的に参照するプログラムファイルの内の第２のプログラムファイルが直接または間接的に参照するプログラムファイルの中から、前記影響度が所定値以上である第３のプログラムファイルを検出し、当該第３のプログラムファイルに含まれる関数に関する情報を、前記第２のプログラムファイルで検証が必要な機能の情報として出力する検証支援情報生成手段と、
を含む動作検証支援装置。
（付記２）
前記影響度は、当該影響度を算出する対象のプログラムファイルが前記第１のプログラムファイルを直接参照する場合に最大となり、当該影響度を算出する対象のプログラムファイルが前記第１のプログラムファイルを間接的に参照する場合、前記参照関係における当該第１のプログラムファイルと当該影響度を算出する対象のプログラムファイルとの間の他のプログラムファイルの数に応じて減少する
（付記１）記載の動作検証支援装置。
（付記３）
前記検証対象関数出力手段は、前記第３のプログラムファイルに含まれる関数に関する情報として、前記第３のプログラムファイルに含まれる関数が提供する機能を出力する
（付記１）または（付記２）に記載の動作検証支援装置。
（付記４）
前記検証対象関数出力手段は、前記第２のプログラムファイルが前記第３のプログラムファイルを直接参照している場合、当該第３のプログラムファイルに含まれる関数の内、当該第２のプログラムファイルが使用する関数に関する情報を出力する
（付記１）乃至（付記３）のいずれかに記載の動作検証支援装置。
（付記５）
プログラムファイル記憶手段に記憶された複数のプログラムファイル間の参照関係を検出し、
前記参照関係を基に、前記複数のプログラムファイルの内の第１のプログラムファイルを直接または間接的に参照するプログラムファイルにおける、当該第１のプログラムファイルの更新による影響度を算出し、
前記参照関係と前記影響度とを基に、前記第１のプログラムファイルを直接または間接的に参照するプログラムファイルの内の第２のプログラムファイルが直接または間接的に参照するプログラムファイルの中から、前記影響度が所定値以上である第３のプログラムファイルを検出し、当該第３のプログラムファイルに含まれる関数に関する情報を、前記第２のプログラムファイルで検証が必要な機能の情報として出力する
動作検証支援方法。
（付記６）
前記影響度は、当該影響度を算出する対象のプログラムファイルが前記第１のプログラムファイルを直接参照する場合に最大となり、当該影響度を算出する対象のプログラムファイルが前記第１のプログラムファイルを間接的に参照する場合、前記参照関係における当該第１のプログラムファイルと当該影響度を算出する対象のプログラムファイルとの間の他のプログラムファイルの数に応じて減少する
（付記５）記載の動作検証支援方法。
（付記７）
前記第３のプログラムファイルに含まれる関数に関する情報として、前記第３のプログラムファイルに含まれる関数が提供する機能を出力する
（付記５）または（付記６）に記載の動作検証支援方法。
（付記８）
前記第２のプログラムファイルが前記第３のプログラムファイルを直接参照している場合、前記第３のプログラムファイルに含まれる関数に関する情報として、当該第３のプログラムファイルに含まれる関数の内、当該第２のプログラムファイルが使用する関数に関する情報を出力する
（付記５）乃至（付記７）のいずれかに記載の動作検証支援方法。
（付記９）
コンピュータに、
プログラムファイル記憶手段に記憶された複数のプログラムファイル間の参照関係を検出し、
前記参照関係を基に、前記複数のプログラムファイルの内の第１のプログラムファイルを直接または間接的に参照するプログラムファイルにおける、当該第１のプログラムファイルの更新による影響度を算出し、
前記参照関係と前記影響度とを基に、前記第１のプログラムファイルを直接または間接的に参照するプログラムファイルの内の第２のプログラムファイルが直接または間接的に参照するプログラムファイルの中から、前記影響度が所定値以上である第３のプログラムファイルを検出し、当該第３のプログラムファイルに含まれる関数に関する情報を、前記第２のプログラムファイルで検証が必要な機能の情報として出力する
処理を実行させる動作検証支援プログラムを格納するコンピュータ読み取り可能な記録媒体。
（付記１０）
前記影響度は、当該影響度を算出する対象のプログラムファイルが前記第１のプログラムファイルを直接参照する場合に最大となり、当該影響度を算出する対象のプログラムファイルが前記第１のプログラムファイルを間接的に参照する場合、前記参照関係における当該第１のプログラムファイルと当該影響度を算出する対象のプログラムファイルとの間の他のプログラムファイルの数に応じて減少する
（付記９）記載の動作検証支援プログラムを格納するコンピュータ読み取り可能な記録媒体。
（付記１１）
前記第３のプログラムファイルに含まれる関数に関する情報として、前記第３のプログラムファイルに含まれる関数が提供する機能を出力する
（付記９）または（付記１０）に記載の動作検証支援プログラムを格納するコンピュータ読み取り可能な記録媒体。
（付記１２）
前記第２のプログラムファイルが前記第３のプログラムファイルを直接参照している場合、前記第３のプログラムファイルに含まれる関数に関する情報として、当該第３のプログラムファイルに含まれる関数の内、当該第２のプログラムファイルが使用する関数に関する情報を出力する
（付記９）乃至（付記１１）のいずれかに記載の動作検証支援プログラムを格納するコンピュータ読み取り可能な記録媒体。
【産業上の利用可能性】
【０００９】
本発明は、例えばＰＣの保守サービスの一環として行われる、プログラムファイルのアップデートなどにおける、プログラムの動作検証などに適用できる。
【符号の説明】
【００１０】
１００  動作検証支援装置
１０１  参照関係検出部
１０２  影響度算出部
１０３  検証支援情報生成部
１０４  入出力部
１１１  参照関係記憶部
１１２  影響度記憶部
１１３  関数情報記憶部
１２１  参照関係テーブル
１２２  影響度テーブル
１２３  関数情報
１３１  参照ファイル情報
１３２  提供関数情報
２００  プログラムファイル記憶部
【図１】
2012036304.tif 000003
【図２】
2012036304.tif 000004
【図３】
2012036304.tif 000005
【図４】
2012036304.tif 000006
【図５】
2012036304.tif 000007
【図６】
2012036304.tif 000008
【図７】
2012036304.tif 000009
【手続補正書】
【提出日】平成25年3月14日(2013.3.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プログラムファイル記憶手段に記憶された複数のプログラムファイル間の参照関係を検出する参照関係検出手段と、
前記参照関係を基に、前記複数のプログラムファイルの内の第１のプログラムファイルを直接または間接的に参照するプログラムファイルにおける、当該第１のプログラムファイルの更新による影響度を算出する影響度算出手段と、
前記参照関係と前記影響度とを基に、前記第１のプログラムファイルを直接または間接的に参照するプログラムファイルの内の第２のプログラムファイルが直接または間接的に参照するプログラムファイルの中から、前記影響度が所定値以上である第３のプログラムファイルを検出し、当該第３のプログラムファイルに含まれる関数に関する情報を、前記第２のプログラムファイルで検証が必要な機能の情報として出力する検証支援情報生成手段と、
を含む動作検証支援装置。
【請求項２】
前記影響度は、当該影響度を算出する対象のプログラムファイルが前記第１のプログラムファイルを直接参照する場合に最大となり、当該影響度を算出する対象のプログラムファイルが前記第１のプログラムファイルを間接的に参照する場合、前記参照関係における当該第１のプログラムファイルと当該影響度を算出する対象のプログラムファイルとの間の他のプログラムファイルの数に応じて減少する
請求項１記載の動作検証支援装置。
【請求項３】
前記検証対象関数出力手段は、前記第３のプログラムファイルに含まれる関数に関する情報として、前記第３のプログラムファイルに含まれる関数が提供する機能を出力する
請求項１または２に記載の動作検証支援装置。
【請求項４】
前記検証対象関数出力手段は、前記第２のプログラムファイルが前記第３のプログラムファイルを直接参照している場合、当該第３のプログラムファイルに含まれる関数の内、当該第２のプログラムファイルが使用する関数に関する情報を出力する
請求項１乃至３のいずれかに記載の動作検証支援装置。
【請求項５】
プログラムファイル記憶手段に記憶された複数のプログラムファイル間の参照関係を検出し、
前記参照関係を基に、前記複数のプログラムファイルの内の第１のプログラムファイルを直接または間接的に参照するプログラムファイルにおける、当該第１のプログラムファイルの更新による影響度を算出し、
前記参照関係と前記影響度とを基に、前記第１のプログラムファイルを直接または間接的に参照するプログラムファイルの内の第２のプログラムファイルが直接または間接的に参照するプログラムファイルの中から、前記影響度が所定値以上である第３のプログラムファイルを検出し、当該第３のプログラムファイルに含まれる関数に関する情報を、前記第２のプログラムファイルで検証が必要な機能の情報として出力する
動作検証支援方法。
【請求項６】
前記影響度は、当該影響度を算出する対象のプログラムファイルが前記第１のプログラムファイルを直接参照する場合に最大となり、当該影響度を算出する対象のプログラムファイルが前記第１のプログラムファイルを間接的に参照する場合、前記参照関係における当該第１のプログラムファイルと当該影響度を算出する対象のプログラムファイルとの間の他のプログラムファイルの数に応じて減少する
請求項５記載の動作検証支援方法。
【請求項７】
コンピュータに、
プログラムファイル記憶手段に記憶された複数のプログラムファイル間の参照関係を検出し、
前記参照関係を基に、前記複数のプログラムファイルの内の第１のプログラムファイルを直接または間接的に参照するプログラムファイルにおける、当該第１のプログラムファイルの更新による影響度を算出し、
前記参照関係と前記影響度とを基に、前記第１のプログラムファイルを直接または間接的に参照するプログラムファイルの内の第２のプログラムファイルが直接または間接的に参照するプログラムファイルの中から、前記影響度が所定値以上である第３のプログラムファイルを検出し、当該第３のプログラムファイルに含まれる関数に関する情報を、前記第２のプログラムファイルで検証が必要な機能の情報として出力する
処理を実行させる動作検証支援プログラム。
【請求項８】
前記影響度は、当該影響度を算出する対象のプログラムファイルが前記第１のプログラムファイルを直接参照する場合に最大となり、当該影響度を算出する対象のプログラムファイルが前記第１のプログラムファイルを間接的に参照する場合、前記参照関係における当該第１のプログラムファイルと当該影響度を算出する対象のプログラムファイルとの間の他のプログラムファイルの数に応じて減少する
請求項７記載の動作検証支援プログラム。
【請求項９】
前記第３のプログラムファイルに含まれる関数に関する情報として、前記第３のプログラムファイルに含まれる関数が提供する機能を出力する
請求項７または８に記載の動作検証支援プログラム。
【請求項１０】
前記第２のプログラムファイルが前記第３のプログラムファイルを直接参照している場合、前記第３のプログラムファイルに含まれる関数に関する情報として、当該第３のプログラムファイルに含まれる関数の内、当該第２のプログラムファイルが使用する関数に関する情報を出力する
請求項７乃至９のいずれかに記載の動作検証支援プログラム。
【国際調査報告】
2012036304.tif 000010
2012036304.tif 000011
2012036304.tif 000012
2012036304.tif 000013