(57)【要約】【課題】開発したアプリケーションの検証負担を軽減する。【解決手段】コンピュータが、複数のソースコードを記録し、該記録されたソースコードが更新された際には、更新されたソースコードを記録し、記録されたソースコードを取得し、該取得したソースコードから実行可能ファイルを作成し、作成された実行可能ファイルを検証するために、実行可能ファイル作成部の指示により、実行可能ファイルを実行し、該実行した検証結果を実行可能ファイル作成部に送信し、送信された検証結果をサーバに配信する。【選択図】図１
2014085951.tif 000002
【特許請求の範囲】
【請求項１】
複数のソースコードを記録し、該記録されたソースコードが更新された際には、更新されたソースコードを記録する記録部と、
前記記録部に記録されたソースコードを取得し、該取得したソースコードから実行可能ファイルを作成する実行可能ファイル作成部と、
前記作成された実行可能ファイルを検証するために、前記実行可能ファイル作成部の指示により、前記実行可能ファイルを実行し、該実行した検証結果を前記実行可能ファイル作成部に送信する検証部と、
前記実行可能ファイル作成部から検証結果の配信を受け付けるサーバとを備えるソースコード管理システム。
【請求項２】
前記ソースコード管理システムは、更に、前記複数のソースコードを所定の機能毎にプロジェクトソースとして管理し、該管理されたプロジェクトソースの番号を示すチケット番号と、ソースコードの更新を示すリビジョン番号とを、前記複数のソースコードとに対応づけて管理する管理部を備えることを特徴とする請求項１記載のソースコード管理システム。
【請求項３】
前記ソースコード管理システムは、更に、複数の端末を備えるものであって、
前記サーバは、前記端末に対して、前記検証結果を送信するものであって、
前記端末は、前記サーバを介して、他の端末と文字データを送受信する通信コミュニケーション機能を備えたものであることを特徴とする請求項２記載のソースコード管理装置。
【請求項４】
前記管理部は、プロジェクトソースの検証結果のうちエラー発生事項または更新事項を、前記サーバを介して他の端末に文字データを送信することを特徴とする請求項３記載のソースコード管理システム。
【請求項５】
前記ソースコード管理システムは、前記作成された実行可能ファイルを他のサーバにインストールするものであることを特徴とする請求項１から４いずれか１項記載のソースコード管理装置。
【請求項６】
前記更新されたソースコードは、フォレンジックシステムに用いるものであることを特徴とする請求項１から５いずれか１項記載のソースコード管理装置。
【請求項７】
コンピュータが、
複数のソースコードを記録し、該記録されたソースコードが更新された際には、更新されたソースコードを記録し、
前記記録されたソースコードを取得し、該取得したソースコードから実行可能ファイルを作成し、
前記作成された実行可能ファイルを検証するために、前記実行可能ファイルを実行し、該実行した検証結果を送信し、
前記送信された検証結果をサーバに配信するソースコード管理方法。
【請求項８】
コンピュータに、
複数のソースコードを記録し、該記録されたソースコードが更新された際には、更新されたソースコードを記録する機能と、
前記記録されたソースコードを取得し、該取得したソースコードから実行可能ファイルを作成する機能と、
前記作成された実行可能ファイルを検証するために、実行可能ファイルを作成する機能の指示により、前記実行可能ファイルを実行し、該実行した検証結果を送信する機能と、
前記送信された検証結果の配信をサーバで受け付ける機能とを実現するソースコード管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソースコード管理システム及びソースコード管理方法並びにソースコード管理プログラムに関するものであって、特に、ソースコードから実行可能ファイルを作成ためのソースコード管理システム及びソースコード管理方法並びにソースコード管理プログラムに関する。
【背景技術】
【０００２】
従来、不正アクセスや機密情報漏洩などコンピュータに関する犯罪や法的紛争が生じた際に、原因究明や捜査に必要な機器やデータ、電子的記録を収集・分析し、その法的な証拠性を明らかにする手段や技術が提案されている。
【０００３】
特に、米国民事訴訟では、ｅＤｉｓｃｏｖｅｒｙ（電子証拠開示）等が求められており、当該訴訟の原告および被告のいずれもが、関連するデジタル情報をすべて証拠として提出する責任を負う。そのため、コンピュータやサーバに記録されたデジタル情報を証拠として、提出しなければならない。
【０００４】
一方、ＩＴの急速な発達と普及に伴い、今日のビジネスの世界ではほとんどの情報がコンピュータで作成されているため、同一企業内であっても多くのデジタル情報が氾濫している。
【０００５】
そのため、法廷への証拠資料提出のための準備作業を行う過程において、当該訴訟に必ずしも関連しない機密なデジタル情報までも証拠資料として含めてしまうミスが生じやすい。また、当該訴訟に関連しない機密な文書情報を提出してしまうことが問題になっていた。
【０００６】
近年、フォレンジックシステムにおける文書情報に関する技術が、特許文献１乃至特許文献３に提案されている。特許文献１には、文書提出命令の対象者情報に含まれる少なくとも１人以上の対象者から、特定の者を指定し、指定された特定の者に関するアクセス履歴情報に基づいて、特定の者がアクセスしたデジタル文書情報のみを抽出し、抽出されたデジタル文書情報の文書ファイルそれぞれが、訴訟に関連するものであるか否かを示す付帯情報を設定し、付帯情報に基づき、訴訟に関連する文書ファイルを出力するフォレンジックシステムについて開示されている。
【０００７】
また、特許文献２には、記録されたデジタル情報を表示し、複数の文書ファイル毎に、対象者情報に含まれる対象者のうちいずれの対象者に関連するものであるかを示す対象者特定情報を設定し、該設定された対象者特定情報を記憶部に記録するように設定し、少なくとも一人以上の対象者を指定し、指定された対象者に対応する対象者特定情報が設定された文書ファイルを検索し、表示部を介して、検索された文書ファイルが、訴訟に関連するものであるか否かを示す付帯情報を設定し、付帯情報に基づき、訴訟に関連する文書ファイルを出力するフォレンジックシステムについて開示されている。
【０００８】
さらに、特許文献３には、デジタル文書情報に含まれる少なくとも１以上の文書ファイルの指定を受け付け、指定された文書ファイルをいずれの言語に翻訳するかの指定を受け付け、指定を受け付けた文書ファイルを、指定を受け付けた言語に翻訳し、記録部に記録されたデジタル文書情報から、指定された文書ファイルと同一の内容を示す共通文書ファイルを抽出し、抽出された共通文書ファイルが、翻訳された文書ファイルの翻訳内容を援用することにより翻訳されたことを示す翻訳関連情報を生成し、翻訳関連情報に基づいて、訴訟に関連する文書ファイルを出力するフォレンジックシステムについて開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１１−２０９９３０号公報
【特許文献２】特開２０１１−２０９９３１号公報
【特許文献３】特開２０１２−３２８５９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、例えば、特許文献１乃至特許文献３のようなフォレンジックシステムにおいては、実行可能ファイルをインストールすることによりアプリケーションの実現を可能とし、それぞれの企業に適した、最新のアプリケーションを通信ネットワーク経由によりサービス提供することになる。
【００１１】
このようなシステムでは、アプリケーションを用いたサービスを提供しながら、顧客の要望に応じた最新のアプリケーション開発、検証および導入を行うことから、開発したアプリケーションの検証負担が増加するという問題があった。
【００１２】
そこで、本発明は、上記事情に鑑み、開発したアプリケーションの検証負担を軽減することを可能とするソースコード管理システム及びソースコード管理方法並びにソースコード管理プログラムを提供することを目的とするものである。
【課題を解決するための手段】
【００１３】
本発明のソースコード管理システムは、複数のソースコードを記録し、該記録されたソースコードが更新された際には、更新されたソースコードを記録する記録部と、記録部に記録されたソースコードを取得し、該取得したソースコードから実行可能ファイルを作成する実行可能ファイル作成部と、作成された実行可能ファイルを検証するために、実行可能ファイル作成部の指示により、実行可能ファイルを実行し、該実行した検証結果を実行可能ファイル作成部に送信する検証部と、実行可能ファイル作成部から検証結果の配信を受け付けるサーバとを備えるものである。
【００１４】
本発明のソースコード管理システムは、複数のソースコードを所定の機能毎にプロジェクトソースとして管理し、該管理されたプロジェクトソースの番号を示すチケット番号と、ソースコードの更新を示すリビジョン番号とを、複数のソースコードと対応づけて管理する管理部を備えるものであってもよい。
【００１５】
本発明のソースコード管理システムは、更に、複数の端末を備えるものであって、サーバは、検証結果を前記端末に表示させる情報を送信するものであって、端末は、他の端末と文字データを送受信する通信コミュニケーション機能を備えたものであってもよい。また、本発明のソースコード管理システムの管理部は、プロジェクトソースの検証結果のうちエラー発生事項を、前記サーバを介して他の端末に文字データを送信するものであってもよい。
【００１６】
本発明のソースコード管理システムは、更に、複数の端末を備えるものであって、サーバは、検証結果を端末に送信するものであって、端末は、サーバを介して、他の端末と文字データを送受信する通信コミュニケーション機能を備えたものであってもよい。
【００１７】
本発明のソースコード管理システムは、作成された実行可能ファイルを他のサーバにインストールするものであってもよい。
【００１８】
本発明のソースコード管理システムは、更新されたソースコードは、フォレンジックシステムに用いるものであってもよい。
【００１９】
本発明のソースコード管理方法は、コンピュータが、複数のソースコードを記録し、該記録されたソースコードが更新された際には、更新されたソースコードを記録し、記録されたソースコードを取得し、該取得したソースコードから実行可能ファイルを作成し、作成された実行可能ファイルを検証するために、実行可能ファイルを実行し、該実行した検証結果を送信し、送信された検証結果をサーバに配信する。
【００２０】
本発明のソースコード管理プログラムは、コンピュータに、複数のソースコードを記録し、該記録されたソースコードが更新された際には、更新されたソースコードを記録する機能と、記録されたソースコードを取得し、該取得したソースコードから実行可能ファイルを作成する機能と、作成された実行可能ファイルを検証するために、実行可能ファイル作成の機能の指示により、前記実行可能ファイルを実行し、該実行した検証結果を前記実行可能ファイル作成部に送信する機能と、送信された検証結果をサーバに配信する機能とを実現するものである。
【発明の効果】
【００２１】
本発明のソースコード管理システム及びソースコード管理方法並びにソースコード管理プログラムは、ソースコードから実行可能ファイルを作成し、作成された実行可能ファイルを検証するために、実行可能ファイル作成部の指示により、実行可能ファイルを実行し、該実行した検証結果を実行可能ファイル作成部に送信し、実行可能ファイル作成部から配信された検証結果を受け付けるサーバによって、更新したソースコードにより作成された実行可能ファイルの検証結果をサーバで共有し、実行可能ファイルによって実現するアプリケーションの検証の負担を軽減することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１の実施形態におけるソースコード管理システムのブロック図
【図２】本発明の第１の実施形態におけるソースコード管理システムの処理フローを表すフローチャート
【図３】本発明の第２の実施形態におけるソースコード管理システムの処理フローを表す図
【発明を実施するための形態】
【００２３】
［第１の実施形態]
本発明の第１の実施形態について、図１を用いて説明する。図１は、第１の実施形態におけるソースコード管理システム１００のブロック図を示している。本実施形態において、ソースコード管理システム１００は、記録部５と、実行可能ファイル作成部１０と、検証部１５と、サーバ２０と、管理部２５、コンピュータからなる複数の端末（不図示）とを備えている。
【００２４】
ソースコード管理システム１００は、図１に示すように、複数のソースコードを記録し、該記録されたソースコードが更新された際には、更新されたソースコードを記録する記録部５と、記録部５に記録されたソースコードを取得し、該取得したソースコードから実行可能ファイルを作成する実行可能ファイル作成部１０と、作成された実行可能ファイルを検証するために、実行可能ファイル作成部１０の指示により、実行可能ファイルを実行し、該実行した検証結果を前記実行可能ファイル作成部に送信する検証部１５と、実行可能ファイル作成部１０から配信される検証結果を受け付けるサーバ２０を備える。
【００２５】
また、ソースコード管理システム１００は、更に、複数のソースコードを所定の機能毎にプロジェクトソースとして管理し、該管理されたプロジェクトソースの番号を示すチケット番号と、ソースコードの更新を示すリビジョン番号と、複数のソースコードとを対応づけて管理する管理部２５を備える。
【００２６】
ソースコード管理システム１００は、作成された実行可能ファイルを、サーバ２０または他のサーバにインストールするものである。また、ソースコード管理システム１００または、ソースコード管理システム１００の各構成部は、コンピュータまたはサーバを備え、各種入力に基づきＣＰＵがＲＯＭに記録されたプログラムを実行することで、各種機能部として動作する。該プログラムは、ＣＤ−ＲＯＭ等の記憶媒体に記憶され、もしくはインターネット等のネットワークを介して配布され、コンピュータにインストールされるものであってもよい。
【００２７】
記録部５は、ソースコードを記録するものである。記録部５は、他の端末（不図示）と通信ネットワーク経由で通信可能であり、他の端末が作成したソースコードを記録する。また、記録部５は、記録したソースコードが、他の端末で作成されたソースコードが更新され、記録部５にそのソースコードが更新の記録指示がきた場合、更新したソースコードを記録する。通信ネットワークは、有線あるいは無線の通信回線をいう。例えば、電話回線、インターネット回線等である。
【００２８】
実行可能ファイル作成部１０は、記録部５に記録されたソースコードから実行可能ファイルを作成するものである。実行可能ファイル作成部１０は、ソースコードの統合を行い、ビルド（ソースコードのコンパイルやライブラリのリンクを行い、実行可能ファイルを作成）を行うことができる。また、実行可能ファイル作成部１０は、自動でソースコードのビルドを行うものであっても良い。
【００２９】
実行可能ファイル作成部１０は、記録部５に記録されたソースコード（更新されたソースコード含む）を取得し、最新のソースコードによりビルドする。
【００３０】
実行可能ファイル作成部１０は、仮想マシン用のプラグインを導入することで、仮想マシン上でソースコードのテスト環境の構築を図ることができる。また、実行可能ファイル作成部１０は、定期的なソースコードのビルドによりコンパイラエラー、バグの発見を可能とする。実行可能ファイル作成部１０は、ソースコードを所定の時間ごとにビルドするルールを設定できる。
【００３１】
検証部１５は、実行可能ファイル作成部１０により作成された実行可能ファイルを使用し、検証環境にデプロイ（ネットワークアプリケーション、ＷＥＢサービスを利用可能な状態に実行）するものである。また、検証部１５は、実行可能ファイル１０より、自動テスト（アプリケーション、ＷＥＢサービスの機能テスト）を実行するように指示され、自動テストを実行する。
【００３２】
サーバ２０は、実行可能ファイル作成部５によりビルドされた実行可能ファイルや検証部１５により検証された検証結果を受け付けるものである。ソースコード管理システム１００は、複数の端末を備えるものであって、サーバ２０は、検証部１５により作成された検証結果をそれぞれの端末に送信するものである。サーバ２０は、複数の端末間の文字による通信（例えば、チャット機能）を可能とするものである。サーバ２０は、他の端末のブラウザ上から操作可能であり、新着のあった事項（検証結果）を他の端末に対して、メッセージとして送信一定周期や決まった時間にメッセージを送信することができる。また、サーバ２０は、上述したチャット機能に対してメッセージの返信、またはメッセージの送信を可能とする。検証結果は、ソースコードの更新事項、後述するプロジェクトソースの更新事項、コンパイル、ビルドにより生じたエラー発生事項が挙げられる。
【００３３】
端末は、サーバ２０を介して、他の端末と文字データを送受信する通信コミュニケーション機能を備える。
【００３４】
管理部２５は、複数のソースコードを所定の機能毎にプロジェクトソースとして管理し、該管理されたプロジェクトソースの番号を示すチケット番号と、ソースコードの更新を示すリビジョン番号とをソースコードと紐づけて管理する。また、管理部２５は、記録部５に記録されたソースコードと、チケット番号およびリビジョン番号を紐づけて管理し、記録部５と情報を共有するものである。
【００３５】
次に、図２を用いて本実施形態における、ソースコード管理システムの処理フローを説明する。図２は、ソースコード管理システムの処理フローを表すフローチャートである。
【００３６】
コンピュータから構成されるソースコード管理システム１００は、複数のソースコードを記録し、該記録されたソースコードが更新された際には、更新されたソースコードを記録する（ＳＴＥＰ１）。具体的には、開発者が、作業用コンピュータ（複数の他の端末）により、ソースコードを作成し、作成したソースコードを通信ネットワーク経由で作業部５に記録する。
【００３７】
次に、実行可能ファイル作成部１０は、記録されたソースコードを取得し、該取得したソースコードから実行可能ファイルを作成する（ＳＴＥＰ２）。実行可能ファイル作成部１０は、最新のソースコードを取得し、このソースコードをビルドする。実行可能ファイル作成部１０は、ビルドしたソースコードを使用し、検証部１５にデプロイする。また、実行可能ファイル作成部は、その他、ソースコード群を特定のプロジェクトごとにまとめ、プロジェクトソースとして管理し、そのプロジェクトソースの品質を確保するためのチェックや自動テストを実行するものであってもよい。
【００３８】
検証部１５は、実行可能ファイル作成部１０により作成された実行可能ファイルを検証するために、実行可能ファイル作成部１０の指示により、ビルドされた実行可能ファイルを取得し、実行可能ファイルを実行する。
【００３９】
検証部１５は、実行した検証結果を実行可能ファイル作成部１０に送信する（ＳＴＥＰ３）。実行可能ファイル作成部１０は、検証部１５から送信された検証結果（ビルド／テスト結果）をサーバ２０に配信する（ＳＴＥＰ４）。
【００４０】
サーバ２０は、プロジェクトの動きを検知し、作業用コンピュータに検証結果やチケット、コミットを管理部２５に通知する。
【００４１】
管理部２５は、記録部５と双方向でチケット番号やリビジョン番号を連携して送受信する。また、管理部２５は、サーバ２０に対してチケット、コミットを通知してもよい。また、管理部２５は、プロジェクトソースの検証結果のうちエラー発生事項または更新事項を、サーバ２０を介して他の端末に文字データを送信することができる。
［第２の実施形態］
以下、本発明の第２の実施形態について、図３を用いて説明する。図３は、第２の実施形態におけるソースコード管理システム１００の処理フローを示している。第２の実施形態は、第１の実施形態におけるソースコード管理システム１００を用いて処理を実行するものである。
【００４２】
記録部５は、トラック（ｔｒｕｃｋ）３０およびタグ（ｔａｇ）３５を備えるものである。トラック３０は、開発中のソースコードを管理するものである。また、タグ３５は、所定のバージョンのソースコードを記録するものであって、バージョン番号を設定し、画面に表示することを可能とする。また、タグ３０は、リソース・リビジョンのタグを作成する。また、タグ３５は、リリース・バージョン用仮想マシン・テンプレートを作成し、作成したリリース・バージョン用仮想マシン・テンプレートを仮想マシン・テンプレート（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  ｔｅｍｐｌａｔｅ）４５に対して、送信する。
【００４３】
作業用コンピュータ（Ｗｏｒｋ  ＰＣ）４０は、トラック３０またはタグ３５にアクセスし、ソースコードを記録・更新する。また、作業用コンピュータ４０は、ソースコードのビルド、インストールのためのソースコードを収納したファイルを一式作成する。トラック３０またはタグ３５はクラウドＣ１上で管理されている。
【００４４】
検証部１５は、検証環境（Ｖｅｒｉｆｉｃａｔｉｏｎ  Ｅｎｖｉｒｏｍｅｎｔ）５０を備えるものであって、検証環境５０は、仮想マシン・テンプレートをコピーし、リソース・バージョンのテストを行う。
【００４５】
仮想マシン・テンプレート４５は、運用環境（Ｏｐｅｒａｔｉｏｎａｌ  Ｅｎｖｉｒｏｎｍｅｎｔ）５５に対して、新規環境を作成する。また、タグ３５は、検証環境５０に対して、更新手順の検証を行うように指示する。更に、タグ３５は、運用環境５５に対して、環境更新を行うように指示する。運用環境５５は、クラウドＣ２上により、管理されているものである。
【００４６】
運用環境５５は、環境管理システム（Ｅｎｖｉｒｏｎｍｅｎｔ  Ｍａｎａｇｉｎｇ  ｓｙｓｔｅｍ）６０に対して、環境の情報（新規環境の情報、更新環境の情報を含む）を送信する。環境管理システム６０は、サービス提供のためのアプリケーション環境を管理する。
【００４７】
本実施形態のソースコード管理システムは、訴訟支援システム（フォレンジックシステム）、翻訳支援システム、調査支援システムに用いることができるものであってもよい。訴訟支援システムにおいては、訴訟に関連するか否かの資料収集に際して、資料の分別プログラムの変更に伴う、ソースコードの更新に用いる。
【００４８】
本実施形態のソースコード管理システムは、ソースコードから実行可能ファイルを作成し、作成された実行可能ファイルを検証するために、実行可能ファイル作成部の指示により、実行可能ファイルを実行し、該実行した検証結果を実行可能ファイル作成部に送信し、送信された検証結果をサーバに配信することによって、更新したソースコードにより作成された実行可能ファイルの検証結果をサーバで共有し、実行可能ファイルによって実現するアプリケーションの検証の負担を軽減することができる。
【００４９】
本実施形態のソースコード管理システムは、サーバを介して、他の端末と文字データを送受信する通信コミュニケーション機能を備えることにより、開発者のコミュニケ―ションを可能とし、開発者のアプリケーション開発の負荷を軽減できる。
【００５０】
本実施形態のソースコード管理システムは、プロジェクトソースの検証結果のうちエラー発生事項または更新事項を、前記サーバを介して他の端末に文字データを送信することにより、リアルタイムの更新したソースコードのエラー発生事項や更新事項を、開発者が把握することができる。
【符号の説明】
【００５１】
５                  記録部
１０                実行可能ファイル作成部
１５                検証部
２０                サーバ
２５                管理部
３０                トラック
３５                タグ
４０                作業用コンピュータ
４５                仮想・マシン・テンプレート
５０                検証環境
５５                運用環境
６０                環境管理システム
１００              ソースコード管理システム
【図１】
2014085951.tif 000003
【図２】
2014085951.tif 000004
【図３】
2014085951.tif 000005