(57)【要約】【課題】間接的な依存関係にあるファイルについても、関連ファイルとして提示可能なファイル管理システムを提供する。【解決手段】  組ファイル記録手段１０１は、作成又は変更された時刻の差が所定時間以内の複数のファイルのファイル識別情報を組として記録する。対ファイル提示手段１０３は、処理対象のファイルのファイル識別情報を受け取り、組ファイル記録手段１０１を参照して、処理対象のファイルと組になるファイルを調べ、該組になるファイルの情報を提示する。【選択図】図１
2010191580.tif 000002
【特許請求の範囲】
【請求項１】
処理対象のファイルのファイル識別情報を受け取り、作成又は変更された時刻の差が所定時間以内の複数のファイルのファイル識別情報を組として記録する組ファイル記録手段を参照して、前記処理対象のファイルと組になるファイルを調べ、該組になるファイルの情報を提示する対ファイル提示手段を有するファイル管理システム。
【請求項２】
ファイル修正を検出すると、修正があったファイルのファイル識別情報を、前記処理対象のファイルのファイル識別情報として前記対ファイル提示手段に渡すファイル修正検出手段を更に有する、請求項１に記載のファイル管理システム。
【請求項３】
前記処理対象のファイルのファイル識別情報と、前記処理対象のファイルと組になるファイルのうち、修正が行われたファイルのファイル識別情報とを組にして前記組ファイル記録手段に記録する組ファイル登録手段を更に有する、請求項２に記載のファイル管理システム。
【請求項４】
ファイルの指定を受け付け、指定されたファイルのファイル識別情報を、前記処理対象のファイルのファイル識別情報として前記対ファイル提示手段に渡すファイル受付手段を更に有する、請求項１乃至３の何れか一に記載のファイル管理システム。
【請求項５】
ファイル管理装置が、処理対象のファイルのファイル識別情報を受け取るステップと、
前記ファイル管理装置が、作成又は変更された時刻の差が所定時間以内の複数のファイルのファイル識別情報を組として記録する組ファイル記録手段を参照し、前記処理対象のファイルと組になるファイルを調べ、該組になるファイルの情報を提示するステップとを有するファイル管理方法。
【請求項６】
前記ファイル管理装置が、ファイル修正を検出し、修正があったファイルを前記処理対象のファイルとするステップを更に有する、請求項５に記載のファイル管理方法。
【請求項７】
前記ファイル管理装置が、前記処理対象のファイルのファイル識別情報と、前記処理対象のファイルと組になるファイルのうち、修正が行われたファイルのファイル識別情報とを組にして前記組ファイル記録手段に記録するステップを更に有する、請求項６に記載のファイル管理方法。
【請求項８】
前記ファイル管理装置が、ファイルの指定を受け付け、指定されたファイルを前記処理対象のファイルとするステップを更に有する、請求項５に記載のファイル管理方法。
【請求項９】
コンピュータに、
処理対象のファイルのファイル識別情報を受け取る処理と、
作成又は変更された時刻の差が所定時間以内の複数のファイルのファイル識別情報を組として記録する組ファイル記録手段を参照し、前記処理対象のファイルと組になるファイルを調べ、該組になるファイルの情報を提示する処理とを実行させるプログラム。
【請求項１０】
前記コンピュータに、ファイル修正を検出し、修正があったファイルを前記処理対象のファイルとする処理を更に実行させる、請求項９に記載のプログラム。
【請求項１１】
前記コンピュータに、前記処理対象のファイルのファイル識別情報と、前記処理対象のファイルと組になるファイルのうち、修正が行われたファイルのファイル識別情報とを組にして前記組ファイル記録手段に記録する処理を更に実行させる、請求項１０に記載のプログラム。
【請求項１２】
前記コンピュータに、ファイルの指定を受け付け、指定されたファイルを前記処理対象のファイルとする処理を更に実行させる、請求項９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル管理方法、システム、及び、プログラムに関し、更に詳しくは、あるファイルに対して、そのファイルに関連があるファイルを提示できるファイル管理方法、システム、及び、プログラムに関する。
【背景技術】
【０００２】
ソフトウェア開発の過程では、プログラムの元になるソースコードや、仕様書などといった文書が修正される。ソフトウェアを変更するなどの修正が必要な場合、開発者は、修正すべきファイルを特定し、それに対して修正を行う。ところが、ソフトウェア開発が大規模化していくに伴ってファイルの数も多くなるので、複数の箇所に修正が波及していると、修正すべきファイルを迅速に見つけ出すことが困難になる。また、修正漏れを起こすことで、不具合が生じるといった問題もある。
【０００３】
上記問題に対し、特許文献１には、ある構成管理要素が変更された際に、その変更に関連する構成管理要素を作業者に提示できるソフトウェア構成管理装置が記載されている。特許文献１では、開発されたプログラムや設計情報などのソフトウェアの構成管理要素相互間の関係を記憶する関係情報記憶手段を用いる。特許文献１では、ある構成管理要素が変更されると、関係情報記憶手段に記憶した関係情報に基づいて、変更された構成管理要素に関連する構成管理要素を特定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２５０７４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、構成管理要素間の関連情報は、ソースコード上に書かれた“#include”宣言から抽出できるファイルから得られる。ファイル間の依存は、直接的な依存に加えて、ソースコードを解析するだけでは依存関係がわからない間接的な依存もある。しかし、ソースコード上から抽出できる依存関係は、直接的に限られるので、特許文献１では、間接的に依存している複数の箇所に修正が必要なときに、全ての修正箇所を探すことが困難である。また、全ての修正箇所を抽出できないことで、修正漏れが生じる可能性もある。
【０００６】
本発明は、直接的な依存関係がないファイルについても、関連ファイルとして提示可能なファイル管理方法、システム、及び、プログラムに関する。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明のファイル管理システムは、処理対象のファイルのファイル識別情報を受け取り、作成又は変更された時刻の差が所定時間以内の複数のファイルのファイル識別情報を組として記録する組ファイル記録手段を参照して、前記処理対象のファイルと組になるファイルを調べ、該組になるファイルの情報を提示する対ファイル提示手段を有することを特徴とする。
【０００８】
本発明のファイル管理方法は、ファイル管理装置が、処理対象のファイルのファイル識別情報を受け取るステップと、前記ファイル管理装置が、作成又は変更された時刻の差が所定時間以内の複数のファイルのファイル識別情報を組として記録する組ファイル記録手段を参照し、前記処理対象のファイルと組になるファイルを調べ、該組になるファイルの情報を提示するステップとを有することを特徴とする。
【０００９】
本発明のプログラムは、コンピュータに、処理対象のファイルのファイル識別情報を受け取る処理と、作成又は変更された時刻の差が所定時間以内の複数のファイルのファイル識別情報を組として記録する組ファイル記録手段を参照し、前記処理対象のファイルと組になるファイルを調べ、該組になるファイルの情報を提示する処理とを実行させることを特徴とする。
【発明の効果】
【００１０】
本発明のファイル管理方法、システム、及び、プログラムは、直接的な依存関係がないファイルについても、関連ファイルとして提示することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１実施形態のファイル管理システムを示すブロック図。
【図２】組ファイル記録手段のデータ例を示す図。
【図３】動作手順を示すフローチャート。
【図４】本発明の第２実施形態のファイル管理システムを示すブロック図。
【図５】第２実施形態の動作手順を示すフローチャート。
【図６】本発明の第３実施形態のファイル管理システムを示すブロック図。
【図７】第３実施形態の動作手順を示すフローチャート。
【図８】実施例のソフトウェア開発環境を示すブロック図。
【図９】（ａ）〜（ｃ）は、プログラムのソースファイルを示す図。
【発明を実施するための形態】
【００１２】
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図１は、本発明の第１実施形態のファイル管理システムを示している。ファイル管理システムは、ファイル管理装置１００と組ファイル記録手段１０１とを有する。ファイル管理装置１００は、ファイル修正検出手段１０２及び対ファイル提示手段１０３を有する。ファイル管理装置１００内の各手段は、その機能をハードウェア的に実現することができるほか、コンピュータシステム上で所定のプログラムを実行することでも実現できる。プログラムは、磁気ディスクや半導体メモリなどのコンピュータ可読記録媒体に記録されて提供される。コンピュータが、プログラムを記録した記録媒体を読み取り、プログラムに従って動作することで、コンピュータ内に、ファイル管理装置１００内の各手段の機能を実現できる。
【００１３】
組ファイル記録手段１０１は、作成・変更された時刻の差が、所定時間以内の複数のファイルのファイル名を組として記録している。例えば、あるファイルＡがあり、そのファイルＡの修正時刻から所定時間Ｔ以内に別のファイルＢが修正されていたとき、組ファイル記録手段１０１は、ファイルＡとファイルＢとを組として記録する。所定時間Ｔは、常に一定でなくてもよく、ファイルに応じて異なっていてもよい。ファイルが作成・変更された時刻（修正された時刻）としては、修正されたファイルが記憶装置に保存された時刻を用いる。或いは、版管理システムを用いてソフトウェア開発を版管理しているような場合は、ファイルを版管理システムに登録（コミット）した時刻を、修正された時刻としてもよい。
【００１４】
ファイル修正検出手段１０２は、ファイルの修正を検出する。ファイル修正検出手段１０２は、例えば、修正中（編集中）のファイルが記憶装置に保存されると、ファイルの修正を検出する。版管理システムを用いる場合は、修正を版管理システムにコミットしたときに、ファイルの修正を検出してもよい。ファイル修正の検出の手法は、特に限定されない。ファイル修正検出手段１０２は、ファイルの修正を検出すると、修正されたファイルの情報（ファイル識別情報）を対ファイル提示手段１０３に通知する。対ファイル提示手段１０３は、組ファイル記録手段１０１を参照し、受け取ったファイル識別情報に該当するファイルと同じ組として記録されているファイルを調べる。対ファイル提示手段１０３は、修正ファイルと組になるファイルの情報を、ユーザに提示する。
【００１５】
図２に、組ファイル記録手段１０１が記録する情報の具体例を示す。図２では、組ファイル記録手段１０１は、組１〜組３までのファイルの組の情報を記録している。組ファイル記録手段１０１への情報の記録は、例えばオペレータが随時行う。或いは、コンピュータが、定期的にファイルの更新履歴などを参照し、組ファイル記録手段１０１への情報記録を行ってもよい。各組は、作成・変更された時間差が所定時間内にある複数のファイルを特定する情報を記憶する。ファイルを特定する情報には、ファイル名を用いることができる。例えば、図２では、組１は、ファイルＡのファイル名と、ファイルＢのファイル名とを記憶している。ファイルを特定する情報は、ファイル名には限られず、その他の情報でもよい。
【００１６】
ここで、組ファイル記録手段１０１には、ファイルの最終修正時刻から所定時間以内に作成・変更されたファイルだけでなく、ファイルの過去の修正時刻から所定時間以内に作成・変更されたファイルも組として記憶しておく。過去の修正時刻から所定時間以内に作成・変更されたファイルは、ファイルの更新履歴などを用いることで特定できる。例えば、ファイルＡが修正され、その修正時刻から所定時間以内にファイルＢが修正されていたとき、組ファイル記録手段１０１にファイルＡとファイルＢの組（組１）を記録する。また、ファイルＡが、それ以前にも修正されており、その修正時刻から所定時間以内にファイルＣが修正されていたとき、組ファイル記録手段１０１にファイルＡとファイルＣの組（組２）を記録する。
【００１７】
図３に、動作手順を示す。ファイル修正検出手段１０２は、ファイルが修正されると（ステップＡ１）、ファイルの修正を検出する（ステップＡ２）。ファイル修正検出手段１０２は、対ファイル提示手段１０３に、検出されたファイルのファイル識別情報を通知する（ステップＡ３）。このときファイル修正検出手段１０２が対ファイル提示手段１０３に通知するファイル識別情報は、対ファイル提示手段１０３が組ファイル記録手段１０１から組になるファイルを取得できる程度の情報を含む。例えば、ステップＡ１でファイルＡが作成・変更されたとき、ファイル修正検出手段１０２は、ステップＡ２でファイルＡの修正を検出し、ステップＡ３で、ファイルＡのファイル識別情報を対ファイル提示手段１０３に通知する。
【００１８】
対ファイル提示手段１０３は、ファイル修正検出手段１０２から修正ファイルの通知を受けると、組ファイル記録手段１０１を参照して通知されたファイルを含む組を検索し、通知されたファイルと組になるファイルを抽出する（ステップＡ４）。対ファイル提示手段１０３は、例えば、ファイル修正検出手段１０２からファイルＡのファイル識別情報を受け取ると、組ファイル記録手段１０１を参照して、ファイルＡが記録された組を探す。対ファイル提示手段１０３は、組ファイル記録手段１０１に、ファイルＡと共に記録されたファイルを、組になるファイルとして抽出する。具体的には、図２の例では、ファイルＡと共に記録されたファイルＢ（組１）と、ファイルＣ（組２）とを抽出する。
【００１９】
対ファイル提示手段１０３は、ステップＡ４でファイルが抽出できたか否かを判断する（ステップＡ５）。対ファイル提示手段１０３は、ステップＡ４でファイルが１つ以上抽出できたときは、抽出したファイルをユーザに提示する（ステップＡ６）。例えば、対ファイル提示手段１０３は、ステップＡ４で、ファイルＡと対になるファイルとしてファイルＢとファイルＣとが取得したとき、ステップＡ６で、ファイルＢとファイルＣとをユーザに提示する。ステップＡ４で対になるファイルが取得できなかったときは、そのまま処理を終了する。
【００２０】
例えば、作成・変更されたファイルが記憶装置に保存された時刻の差が所定時間以内のファイルを対になるファイルとして提示する場合を考える。組ファイル記録手段１０１には、保存時刻の差が所定時間以内のファイルを組として記録しておく。開発者は、ソフトウェアに必要な変更に対して、意味的にまとまりがある単位でファイルに修正を加える。例えば、複数の不具合を修正する必要があるときは、同時に複数の不具合を修正するよりも、不具合を１つずつ修正していく方が効率的である。従って、修正されて保存された時刻が近いファイル群は、同じ変更に対する修正が行われた可能性が高い。このことから、組ファイル記録手段１０１には、各々の変更に対して同時に修正すべきファイル群が組として記録されているといえる。この組を用いることで、その後ファイルを修正したときに、同時に修正される可能性が高いファイルをユーザに提示することができる。
【００２１】
また、作成・変更されたファイルが版管理システムにコミットされた時刻の差が所定時間以内のファイルを対になるファイルとして提示する場合を考える。組ファイル記録手段１０１には、版管理システムにコミットされた時刻の差が所定時間以内のファイルを組として記録しておく。ソフトウェア管理に版管理を利用する利点の一つに、過去の変更内容を記録することで、例えばある時点でソフトウェアに不備が生じたとき、履歴をさかのぼって不備を生じさせた修正を特定することができると共に、ソフトウェアを正常な状態に戻すことができるということが挙げられる。この利点を活かすためにも、版管理への登録は、意味的にまとまった単位で行われるべきである。従って、同時期に版管理システムに登録されたファイル群は、同じ変更に対する修正が行われた可能性が高い。このことから、上記と同様に、組ファイル記録手段１０１には、各々の変更に対して同時に修正すべきファイル群が組として記録されているといえる。この組を用いることで、その後ファイルを修正したときに、同時に修正される可能性が高いファイルをユーザに提示することができる。
【００２２】
本実施形態のファイル管理システムは、最小構成として、対ファイル提示手段１０３を有する。対ファイル提示手段１０３は、作成・変更された時刻が所定時間以内のファイルを組として記録する組ファイル記録手段１０１を参照して、処理対象のファイルと組になるファイルを調べ、組になるファイルをユーザに提示する。このようにすることで、処理対象のファイルが過去に作成・変更された時刻と近い時刻に作成・変更されたファイルを、ユーザに提示することができる。特許文献１など、ファイルを解析して依存関係を求めておく手法では、ファイルから依存関係を抽出できないファイルを提示することができなかった。本実施形態では、処理対象のファイルが作成・変更された時刻と近い時刻に作成・変更されたファイルをユーザに提示するため、処理対象のファイルに対して、ファイルからは依存関係がわからない間接的に依存するファイルも、関連ファイルとしてユーザに提示することができる。
【００２３】
本実施形態では、ファイル修正検出手段１０２を用い、対ファイル提示手段１０３は、ファイル修正検出手段１０２が検出した修正ファイルを処理対象に、修正ファイルと組になるファイルを提示する。修正ファイルと作成・変更された時刻が近いファイルは、修正ファイルと直接に又は間接的に依存する可能性が高いファイルであるので、修正ファイルの修正後に修正が必要になる可能性が高いファイルであるといえる。本実施形態では、あるファイルの修正を契機として、その修正ファイルに直接に又は間接的に依存するファイルをユーザに提示する。このようにすることで、ユーザに、修正ファイルと同時に修正すべきファイルを提示することができ、依存関係にあるファイルの修正漏れを低減できる効果が期待できる。
【００２４】
図４は、本発明の第２実施形態のファイル管理システムを示している。本実施形態のファイル管理システムは、ファイル管理装置１００ａが、ファイル修正検出手段１０２（図１）に代えて、ファイル受付手段１０４を有する点で、第１実施形態のファイル管理システムと相違する。組ファイル記録手段１０１及び対ファイル提示手段１０３は、第１実施形態と同じである。すなわち、組ファイル記録手段１０１は、作成又は変更された時刻の差が所定時間以内の複数のファイルのファイル識別情報を組として記録する。対ファイル提示手段１０３は、組ファイル記録手段１０１を参照し、処理対象のファイルと組になるファイルを調べ、組になるファイルの情報を提示する。
【００２５】
ファイル受付手段１０４は、外部から、ファイルの指定を受け付ける。ユーザは、任意のファイルを、指定ファイルとしてファイル受付手段１０４に指定することができる。ユーザは、例えば、ファイル修正に先立って、修正しようとしているファイルを、ファイル受付手段１０４に対して指定する。ファイル受付手段１０４は、ファイルの指定を受けると、指定されたファイルのファイル識別情報を、対ファイル提示手段１０３に通知する。対ファイル提示手段１０３は、組ファイル記録手段１０１を参照して、ファイル受付手段１０４から通知されたファイル識別情報に該当するファイルと組になるファイルを調べ、その組になるファイルの情報をユーザに提示する。
【００２６】
図５に、第２実施形態のファイル管理システムの動作手順を示す。ソフトウェア開発者などが、ファイル受付手段１０４に対してファイルを指定する（ステップＢ１）。ファイル受付手段１０４は、指定されたファイルのファイル識別情報を、対ファイル提示手段１０３に通知する（ステップＢ２）。以降の動作は、図３のステップＡ４〜Ａ６と同様である。すなわち、対ファイル提示手段１０３は、ステップＡ４で組ファイル記録手段１０１を参照して指定ファイルと組になるファイルを抽出し、ステップＡ５で組になるファイルが存在するか否かを判断する。対ファイル提示手段１０３は、組になるファイルが存在する場合は、ステップＡ６で、指定ファイルと組になるファイルをユーザに提示する。
【００２７】
本実施形態では、ファイル受付手段１０４は、ファイルの指定を受け付け、指定されたファイルのファイル識別情報を対ファイル提示手段１０３に通知する。対ファイル提示手段１０３は、ファイル受付手段１０４から通知された指定ファイルを処理対象ファイルとして、組ファイル記録手段１０１から指定ファイルと組になるファイルの情報を抽出し、ユーザに提示する。本実施形態では、ユーザが、任意の時点で、任意のファイルを指定できる。従って、ファイル修正の有無にかかわらず、任意の時点で、任意のファイルと依存する関係にあるファイルを、ユーザに提示することができる。ユーザは、提示された情報を、ソフトウェア理解の補助に用いることができる。ユーザに間接的に依存する関係にあるファイルを提示できる点は、第１実施形態と同様である。
【００２８】
図６は、本発明の第３実施形態のファイル管理システムを示している。本実施形態のファイル管理システムは、ファイル管理装置１００ｂが、ファイル修正検出手段１０２及び対ファイル提示手段１０３に加えて、組ファイル登録手段１０５を有する点で、第１実施形態のファイル管理システムと相違する。組ファイル記録手段１０１、ファイル修正検出手段１０２、及び、対ファイル提示手段１０３は、第１実施形態と同じである。すなわち、組ファイル記録手段１０１は、作成又は変更された時刻の差が所定時間以内の複数のファイルのファイル識別情報を組として記録する。ファイル修正検出手段１０２は、ファイルの修正を検出する。対ファイル提示手段１０３は、組ファイル記録手段１０１を参照し、修正ファイルと組になるファイルを調べ、組になるファイルの情報を提示する。
【００２９】
組ファイル登録手段１０５は、ファイル修正検出手段１０２から修正ファイルのファイル識別情報を受け取ると共に、対ファイル提示手段１０３から、修正ファイルと組になるファイルのファイル識別情報を受け取る。組ファイル登録手段１０５は、修正ファイルと組になるファイルのうちで、修正されたファイルがあるか否かを判断する。組ファイル登録手段１０５は、修正ファイルのファイル識別情報と、修正ファイルと組になるファイルのうち、修正が行われたファイルのファイル識別情報とを組にして、組ファイル記録手段１０１に記録する。
【００３０】
図７に、第３実施形態のファイル管理システムの動作手順を示す。ファイルの修正から、修正ファイルと組になるファイルの提示までの動作は、第１実施形態と同様である。すなわち、ステップＡ１でファイルが修正されると、ファイル修正検出手段１０２は、ステップＡ２でファイルの修正を検出し、ステップＡ３で修正ファイルのファイル識別情報を対ファイル提示手段１０３に通知する。対ファイル提示手段１０３は、ステップＡ４で組ファイル記録手段１０１を参照して修正ファイルと組になるファイルを抽出し、ステップＡ５で組になるファイルが存在するか否かを判断する。対ファイル提示手段１０３は、組になるファイルが存在する場合は、ステップＡ６で、修正ファイルと組になるファイルをユーザに提示する。
【００３１】
組ファイル登録手段１０５は、ファイル修正検出手段１０２から、ステップＡ２で修正を検出したファイルのファイル識別情報を受け取る。また、組ファイル登録手段１０５は、対ファイル提示手段１０３から、ステップＡ６でユーザに提示したファイル、すなわち、ステップＡ４で抽出した修正ファイルと組になるファイルのファイル識別情報を受け取る。ユーザは、提示されたファイルから適宜ファイルを選択し、ファイルの修正を行う。組ファイル登録手段１０５は、ユーザが、ステップＡ１で修正されたファイルに付随して、提示されたファイルのうちの少なくとも１つを修正すると、ステップＡ１で修正されたファイルのファイル識別情報と、ユーザに提示されたファイルのうちで実際に修正されたファイルのファイル識別情報とを組にして、組ファイル記録手段１０１に登録する（ステップＣ７）。
【００３２】
本実施形態では、組ファイル登録手段１０５は、修正ファイルのファイル識別情報と、対ファイル提示手段１０３が提示したファイルのうち、修正が行われたファイルのファイル識別情報とを組にして、組ファイル記録手段１０１に登録する。このようにすることで、次回以降、組ファイル登録手段１０５が記録した情報を用いて、修正ファイルと組になるファイルをユーザに提示できる。また、ファイルの修正を契機として、組ファイル記録手段１０１に記録された情報を更新することができ、別途、編集履歴などを用いて、組ファイル記録手段１０１に記録された情報を定期的に更新する処理が不要になる。その他の効果は、第１実施形態と同様である。
【００３３】
以下、実施例を用いて説明する。ファイルは、Ｃ言語で記述されたソースファイルとする。また、版管理システムとしてSubversionを利用する。組ファイル記録手段１０１には、Subversionに同時にコミットされたファイル群が、作成・変更された時刻の差が一定時間内のファイルの組として記録されている。
【００３４】
図８に、ソフトウェア開発環境を示す。クライアント８０１は、開発者からの入力を受け付けるキーボードや、編集状態や各種情報を表示するディスプレイ等を備えている。開発者は、クライアント８０１を利用してソフトウェアの開発を行う。クライアント８０１では、svnラッパープログラム８０２が動作している。svnラッパープログラム８０２は、クライアント８０１内にファイル管理装置の機能を実現するプログラムを含む。
【００３５】
サーバ８１１上では、Subversion８１２が動作している。開発中のファイルは、Subversion８１２で管理される。サーバ８１１とクライアント８０１とは、ネットワーク８２１を介して接続されている。
【００３６】
図９（ａ）〜（ｃ）に、プログラムのソースファイルを示す。図９（ａ）はファイルＡ（ファイル名a.c）を示し、（ｂ）はファイルＢ（ファイル名b.c）を示し、（ｃ）はファイルＣ（ファイル名c.c）を示している。ファイルＡには、関数ポインタを通して、ファイルＢとファイルＣで定義されている関数を呼び出す記述がある。これらファイルＡ〜Ｃの版は、Subversion８１２で版管理されている。ファイルＢとファイルＣの開発者は同じであり、開発者は、これら２つのファイルをSubversion８１２に同時にコミットしている。
【００３７】
ある開発者が、関数の戻り値となるデータ構造の変更に伴って、ファイルＡとファイルＢとを修正し、svnラッパープログラム８０２を用いてファイルＡとファイルＢとをコミットしたとする。svnラッパープログラム８０２は、ファイルＡとファイルＢとを受け取ると、Subversion８１２から過去にファイルＢと同時にコミットされたファイルＣを得る。svnラッパープログラム８０２は、ファイルＣをクライアント８０１のディスプレイに表示し、開発者にファイルＣの存在を知らせる。
【００３８】
コールグラフなどを用いたソースコード解析では、関数ポインタに代入される関数を正確に特定することはできない。従って、ソースコード解析では、ファイルＡの関数ポインタに代入されるファイルＣ内の関数を抽出することはできず、ファイルＡとファイルＣとが依存関係にあることを把握することはできない。また、ファイルＢとファイルＣとには依存関係はない。従って、ソースコードを解析する手法では、ファイルＡ及びファイルＢの修正時に、同時に修正すべきファイルＣを開発者に提示することができない。
【００３９】
本実施例では、ファイルＢとファイルＣとがSubversion８１２に同時にコミットされ、ファイルＢとファイルＣとの組が組ファイル記録手段１０１に記録されている。開発者が、関数の戻り値のデータ構造変更に伴ってファイルＡとファイルＢとを修正すると、対ファイル提示手段１０３（図１）は、ファイルＢと同時にコミットされたファイルＣを、開発者に提示する。開発者が、提示されたファイルＣについても、関数の戻り値のデータ構造を変更することで、ファイルの修正漏れを防ぐことができる。
【００４０】
なお、上記各実施形態は、適宜組み合わせて用いることができる。例えば、図４のファイル管理装置１００ａが、ファイル修正検出手段１０２を更に有する構成も可能である。この場合、対ファイル提示手段１０３は、ファイル修正検出手段１０２がファイル修正を検出したとき、及び、ファイル受付手段１０４がファイルの指定を受けたときに、組となるファイルを提示する。また、第３実施形態では、組ファイル登録手段１０５がユーザに提示したファイルのうちで、修正されたファイルを組として組ファイル記録手段１０１に記録するとしたが、これに加えて、ユーザに提示したファイル以外で修正したファイルも、組ファイル記録手段１０１に記録してよい。
【００４１】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のファイル管理方法、システム、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【符号の説明】
【００４２】
１００：ファイル管理装置
１０１:組ファイル記録手段
１０２:ファイル修正検出手段
１０３:対ファイル提示手段
１０４:ファイル受付手段
１０５:組ファイル登録手段
８０１:クライアント
８０２:svnラッパープログラム
８１１:サーバ
８１２:Subversion
８２１:ネットワーク
【図１】
2010191580.tif 000003
【図２】
2010191580.tif 000004
【図３】
2010191580.tif 000005
【図４】
2010191580.tif 000006
【図５】
2010191580.tif 000007
【図６】
2010191580.tif 000008
【図７】
2010191580.tif 000009
【図８】
2010191580.tif 000010
【図９】
2010191580.tif 000011