(57)【特許請求の範囲】
【請求項１】
ソーシャルコーディングにおける静的テストを支援する静的テスト支援システムであって、
ソーシャルコーディングシステムを有する開発管理サーバと、
開発者が有する情報処理端末であり、前記ソーシャルコーディングシステムのクライアント機能を有する１つ以上の開発者端末と、
レビュアーが有する情報処理端末であり、前記ソーシャルコーディングシステムのクライアント機能を有する１つ以上のレビュアー端末と、がネットワークにそれぞれ接続され、
前記開発管理サーバは、前記レビュアー端末から取得した静的テストの実施情報をレビュー状況記録部に記録するレビュー制御部を有し、
前記レビュアー端末は、アイカメラにより前記レビュアーの視点の情報を取得するレビュアー視点監視部を有し、前記レビュアー端末が表示した前記ソースコードに対して前記レビュアーが静的テストを実施する際に、前記レビュアー視点監視部により取得した前記視点の情報をトラッキングして、前記視点の経路上に該当する前記ソースコード内の行について、前記レビュアーが目視により確認したとし、前記行における所定の割合以上を目視により確認した場合に前記行に対する確認が実施されたものとして、その日時、確認が実施された前記行、および前記レビュアーに係る情報を含む前記静的テストの実施情報を前記開発管理サーバに送信する、静的テスト支援システム。
【請求項２】
請求項１に記載の静的テスト支援システムにおいて、
前記開発管理サーバは、さらに、
前記開発者端末もしくは前記レビュアー端末に前記ソースコードを表示させる際に、前記ソースコードの前記行毎に、前記レビュー状況記録部に記録された前記行に係る前記静的テストの実施情報、および前記レビュアーによる確認が実施された順序の情報を、併せて表示させるレビュー状況表示部を有する、静的テスト支援システム。
【請求項３】
請求項１に記載の静的テスト支援システムにおいて、
前記開発管理サーバは、前記開発者端末もしくは前記レビュアー端末に前記ソースコードを表示させる際に、前記ソースコード内の前記行が他のソースコードから引用したものである場合に、その旨と、前記他のソースコードの開発者の情報、前記他のソースコードがその他のソースコードにより引用されている数の情報、および前記他のソースコードに対する静的テストが実施された数の情報のうち１つ以上の情報と、を表示する、静的テスト支援システム。
【請求項４】
請求項１に記載の静的テスト支援システムにおいて、
前記開発者端末は、アイカメラにより前記開発者の視点の情報を取得する開発者視点監視部を有し、
前記開発管理サーバは、前記ソースコードに対して前記レビュアーが静的テストを実施する際に、前記開発者端末および前記レビュアー端末に前記ソースコードを表示させ、それぞれに、前記レビュアー端末の前記レビュアー視点監視部により取得した前記レビュアーの前記視点の情報と、前記開発者端末の前記開発者視点監視部により取得した前記開発者の前記視点の情報と、を表示させる、静的テスト支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発の技術に関し、特に、ソースコードレビュー等の静的テストの実施を支援する静的テスト支援システムに適用して有効な技術に関するものである。
【背景技術】
【０００２】
ソフトウェア開発では、一般的に、開発したプログラムを実際に実行してテストする動的テストの前に、プログラムを実行させないで行う静的テストが行われる。静的テストには、例えば、ソースコードレビューや、インスペクション、ピアレビューなど、手法や目的等が異なるいくつかのものが知られている。【０００３】
プログラムの静的テストに関する技術としては、例えば、特開平９−２６８９７号公報（特許文献１）には、ソースコードから当該ソースコードに含まれる各データの構造を表す情報であるデータ情報を抽出するデータ抽出手段と、ソースコードとデータ情報とに基づいて、ソースコード上の位置ごとに、データ間に存在する関連を表す関連情報を抽出する関連抽出手段と、ソースコード、データ情報及び関連情報に基づいて、ソースコード中の各処理に関わる各関連情報を、当該処理を表す情報である処理情報として抽出する処理抽出手段とを有するプログラム解析装置が記載されている。【０００４】
また、特開２０１３−４５３０７号公報（特許文献２）には、変更有無によらずに、全てのソースコードファイルを静的解析する検証実行部と、ソースコードファイルおよび検証実行部による検証結果をリビジョン毎に保存するリポジトリと、検証結果において各指摘項目をクライアント装置の画面に表示するかどうかを示す確認フラグを更新する確認フラグ更新部とを備える静的解析装置と、静的解析装置から検証結果を取得する検証結果アクセス部と、検証結果の指摘項目の一覧、および次の静的解析時では表示不要な指摘項目をユーザに選択させる画面を表示し、表示不要な指摘項目を含む検証結果を確認フラグ更新部に送信する検証結果確認部とを備えるクライアント装置とからなる静的解析システムが記載されている。【０００５】
一方で、近年のソフトウェア開発では、例えば、ソースコード等をクラウドコンピューティング環境などに置かれたリポジトリ上で共有し、複数の開発者がネットワークを介して協調して開発を行うソーシャルコーディングという手法が普及してきており、レビューなどの処理がネットワークを介して行われる場合がある。なお、ソーシャルコーディングを行うためのツールやシステムとしては、例えば、ＧｉｔＨｕｂ（非特許文献１）などが知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平９−２６８９７号公報
【特許文献２】特開２０１３−４５３０７号公報
【非特許文献】
【０００７】
【非特許文献１】ＧｉｔＨｕｂホームページ、［平成２６年６月２０日検索］、インターネット＜URL：https://github.com＞
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ソーシャルコーディングにおける静的テストでは、ネットワークを介してリモートで実施される場合もあることから、例えば、ソースコードレビューにおいて、レビュアーが実際に対象の全てのソースコードを目視して確認したか否かについてはエビデンスがないため不明であり、自己申告に基づいてレビューの実施が判断されている。従って、レビューの品質が担保されない場合があるという課題を有する。【０００９】
また、一般的に、ソースコードはゼロから全てを作成することは少なく、効率化や品質向上の観点から、既に実績のある他のプログラムのソースコードの全部もしくは一部を引用して作成する場合が多い。しかしながら、このようなソースコードに対して手順通りの静的テストを行う場合には、既にレビューが実施され、稼働実績もあるプログラムのソースコードから引用した部分についても、他のゼロから作成した部分と同様のレビューが再度実施されることになり、レビューの重複による非効率が生じることになる。【００１０】
そこで本発明の目的は、ソーシャルコーディングにおいて、ソースコードレビュー等の静的テストの際に、少なくともレビュアーが実際に対象のソースコードを目視により確認したことのエビデンスを記録し、静的テストの実施結果として、誰がいつ実際にソースコードを見たかの情報を蓄積し、表示可能とする静的テスト支援システムを提供することにある。【００１１】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１２】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。【００１３】
本発明の代表的な実施の形態による静的テスト支援システムは、ソーシャルコーディングにおける静的テストを支援する静的テスト支援システムであって、ソーシャルコーディングシステムを有する開発管理サーバと、開発者が有する情報処理端末であり、前記ソーシャルコーディングシステムのクライアント機能を有する１つ以上の開発者端末と、レビュアーが有する情報処理端末であり、前記ソーシャルコーディングシステムのクライアント機能を有する１つ以上のレビュアー端末と、がネットワークにそれぞれ接続される構成を有する。【００１４】
前記開発管理サーバは、前記レビュアー端末から取得した静的テストの実施情報をレビュー状況記録部に記録するレビュー制御部を有し、前記レビュアー端末は、アイカメラにより前記レビュアーの視点の情報を取得するレビュアー視点監視部を有し、前記レビュアー端末が表示した前記ソースコードに対して前記レビュアーが静的テストを実施する際に、前記レビュアー視点監視部により取得した前記視点の情報をトラッキングして、前記視点の経路上に該当する前記ソースコード内の行について、前記レビュアーが目視により確認したとし、前記行における所定の割合以上を目視により確認した場合に前記行に対する確認が実施されたものとして、その日時、確認が実施された前記行、および前記レビュアーに係る情報を含む前記静的テストの実施情報を前記開発管理サーバに送信するものである。
【発明の効果】
【００１５】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。【００１６】
すなわち、本発明の代表的な実施の形態によれば、ソーシャルコーディングにおいて、ソースコードレビュー等の静的テストの際に、少なくともレビュアーが実際に対象のソースコードを目視により確認したことのエビデンスを記録し、静的テストの実施結果として、誰がいつ実際にソースコードを見たかの情報を蓄積し、表示することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施の形態である静的テスト支援システムの構成例について概要を示した図である。
【図２】本発明の一実施の形態におけるレビュー状況ＤＢのデータ構成の例について概要を示した図である。
【図３】本発明の一実施の形態におけるレビュアー端末上でレビュアーがソースコードレビューを行う際の画面例について概要を示した図である。
【図４】本発明の一実施の形態におけるレビュアー端末上でレビュアーがソースコードレビューを行う際の他の画面例について概要を示した図である。
【図５】本発明の一実施の形態における開発者端末およびレビュアー端末が連携してソースコードレビューを行う際の画面例について概要を示した図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１９】
本発明の一実施の形態である静的テスト支援システムは、ソーシャルコーディングにおけるソースコードレビュー等の静的テストの際に、レビュアーのクライアント端末に設けられたアイカメラ（視点センサ）によりレビュアーの視点・視線を検知し、例えば、ソースコードの各行につき、行内の全てのコードを視点が通過した場合に当該行のチェックが完了したものとする。これにより、レビュアーが実際にソースコードの該当箇所を目視したことのエビデンスを得てカバレッジを確保することができる。
【００２０】
また、誰が（どのレビュアーが）いつどういう順でソースコードの各行を実際に確認したのかの情報を蓄積するとともに、その情報をソースコードの各行と対応させて開発者やレビュアーのクライアント端末上に表示させる。これにより、例えば、レビューを依頼した開発者が、誰がどの行をどのくらいの滞留時間で目視してレビューし、また、どういう順序でソースコードの各行を追ったのかの情報を把握することができ、レビューの品質向上および効率化を図ることができる。
【００２１】
すなわち、開発者が、レビュアーが実際に追ったロジックをトレースし、どの部分を重点的に確認したのかを把握することができることから、開発者は、ソースコードの品質向上につなげることができる有益な参照情報を得ることができる。さらに、レビュアーがスキルが高く著名な者であるような場合には、そのようなレビュアーにレビューされるということが開発者のモチベーションともなり、さらなる品質向上や開発者のスキル向上も期待することができる。また、このようなレビュアーがチェックしたソースコードであれば、信頼度や品質が高いと推測されるため、静的テストを省略する等、効率化を図ることが可能となる。
【００２２】
また、既に稼働実績を有するプログラム等のソースコードを引用してソースコードを作成している場合、引用により作成されているということをソースコードの対応箇所に明示した上で、開発者やレビュアーのクライアント端末上に表示させる。このような箇所も、信頼度や品質が高いと推測されるため、静的テストを省略する等、効率化を図ることが可能となる。
【００２３】
＜システム構成＞
図１は、本発明の一実施の形態である静的テスト支援システムの構成例について概要を示した図である。静的テスト支援システム１は、開発管理サーバ１０に対して、インターネットやイントラネット等のネットワーク４０を介して、複数の開発者がそれぞれ使用する情報処理端末である開発者端末２０、および複数のレビュアーがそれぞれ使用する情報処理端末であるレビュアー端末３０が、通信可能なように接続されている構成を有する。
【００２４】
開発管理サーバ１０は、例えば、サーバ機器やクラウドコンピューティング環境上に構築された仮想サーバなどにより実装され、ネットワーク４０を介して、複数の開発者によるソースコード等の開発を管理、支援する機能を提供するサーバシステムである。開発管理サーバ１０は、例えば、図示しないＯＳ（Operating System）やＤＢＭＳ（DataBase Management System）、Ｗｅｂサーバプログラムなどのミドルウェア上で稼働するソフトウェアにより実装されるソーシャルコーディングシステム１１や、レビュー制御部１２、レビュー状況表示部１３などの各部を有する。また、データベース等により実装されるリポジトリデータベース（ＤＢ）１４およびレビュー状況ＤＢ１５などの各テーブルを有する。
【００２５】
ソーシャルコーディングシステム１１は、ソーシャルコーディングの機能を提供するサーバシステムやツールであり、例えば、上述したＧｉｔＨｕｂ（非特許文献１）などの公知のツールを適宜利用することができる。ソーシャルコーディングシステム１１は、例えば、開発されたソースコードやプログラム等の成果物をリポジトリＤＢ１４に保持してバージョン管理を行うことができる。また、新たな開発を行う際に、マスタのソースコードやベースとなるソースコードから派生、分岐させた開発用の単位としてのブランチを作成してリポジトリＤＢ１４に登録し、ブランチの単位でソースコードの開発（コーディング）やテスト、レビュー、元のブランチへの反映、登録などの開発管理を行うことができる。
【００２６】
レビュー制御部１２は、ソーシャルコーディングシステム１１と連携し、開発されたソースコード等に対するレビュアーによるレビュー（静的テスト）の実施を支援、制御する機能を有する。ここでは、例えば、レビュアーがレビューの際にソースコード中の必要な箇所を実際に目視して確認したかどうかを担保するために、各レビュアーがソースコード中のどの行をいつ実際に目視したか等のレビュー実施情報をレビュアー端末３０等から取得してレビュー状況ＤＢ１５に履歴として記録、蓄積する機能を有する。
【００２７】
レビュー状況表示部１３は、ソーシャルコーディングシステム１１が開発者端末２０やレビュアー端末３０上に開発中のソースコード等を表示させる際に、ソーシャルコーディングシステム１１と連携して、対象のソースコードについてのレビュー状況を併せて表示させる機能を有する。例えば、レビュー状況ＤＢ１５に蓄積されたレビュー実施の履歴情報に基づいて、対象のソースコード中の各行について、いつどのレビュアーがどういう順序で実際に目視して確認したかの情報を抽出し、後述するような画面によって表示させる機能を有する。
【００２８】
開発者端末２０およびレビュアー端末３０は、それぞれ、ＰＣ（Personal Computer）等の情報処理端末により実装され、ネットワーク４０を介して開発管理サーバ１０にアクセスし、開発者やレビュアーがソースコード等の開発やテスト、レビュー等の作業を実際に行う際のユーザインタフェースを含む機能を提供するクライアントシステムである。開発者端末２０およびレビュアー端末３０は、それぞれ、例えば、図示しないＯＳなどのミドルウェアやＷｅｂブラウザ上で稼働するソフトウェアにより実装される、ソーシャルコーディングクライアント２１、３１や視点監視部２２、３２などの各部を有する。
【００２９】
ソーシャルコーディングクライアント２１、３１は、それぞれ、開発管理サーバ１０のソーシャルコーディングシステム１１に対応するクライアントアプリケーションであり、ソースコード等の開発やテスト、レビュー等の作業をユーザが行う際のインタフェースを提供する機能を有する。
【００３０】
視点監視部２２、３２は、それぞれ、開発者端末２０およびレビュアー端末３０を使用する開発者およびレビュアーの視点の位置を常時トラッキングする機能を有する。例えば、開発者端末２０およびレビュアー端末３０がそれぞれ備えるアイカメラ２３、３３を制御して、開発者やレビュアーの目の動き等の情報を取得し、これらに基づいて視点の位置を算出して出力するという公知のアイトラッキング技術やツール等を適宜利用することができる。なお、アイカメラ２３、３３は、例えば、眼球の動きを撮影するカメラや、黒目の位置を検出する赤外線センサなどにより構成される。
【００３１】
視点監視部２２、３２により、例えば、開発者端末２０およびレビュアー端末３０の画面上に、ソーシャルコーディングクライアント２１、３１によりレビューのためにソースコードが表示されている状況で、開発者やレビュアーがソースコードのどの行のどの部分を実際に見ているかを把握することができる。レビュアーが各行について目視により確認したと判定される場合には、その旨の情報を開発管理サーバ１０のレビュー制御部１２に送信し、レビュー制御部１２によりレビュー状況ＤＢ１５に履歴として記録する。
【００３２】
なお、図１の例では、開発者端末２０にも視点監視部２２およびアイカメラ２３を有して、開発者の視点をトラッキングすることができるようにしているが、開発者端末２０には必ずしも必要ではない。少なくともレビュアー端末３０については視点監視部３２およびアイカメラ３３を有しており、レビュー時のレビュアーの視点をトラッキングすることができればよい。
【００３３】
＜データ構成＞
図２は、開発管理サーバ１０のレビュー状況ＤＢ１５のデータ構成の例について概要を示した図である。レビュー状況ＤＢ１５は、開発中の各ソースコードについてのソースコードレビュー等の静的テストの実施情報や状況に係る情報をソースコードの行単位で保持するテーブルであり、例えば、レビュー日時、ブランチ名、ソースコード名、行番号、レビュアー、およびレビュー結果などの各項目を有する。
【００３４】
レビュー日時の項目は、対象のレビューを行った時点、すなわち、ソースコード中の対象の行をレビュアーが目視により確認した時点のタイムスタンプの情報を保持する。ブランチ名の項目は、対象のソースコードが含まれるブランチを特定する名称等の情報を保持する。ソースコード名の項目は、対象のソースコードを特定する名称等の情報を保持する。行番号の項目は、対象のソースコードにおいてレビュアーが目視により確認した行を特定する行番号の情報を保持する。レビュアーの項目は、対象のソースコードにおける対象の行を目視によりレビューしたレビュアーを特定するＩＤや氏名等の情報を保持する。レビュー結果の項目は、対象のソースコードにおける対象の行に対するレビューの結果（例えばＯＫ／ＮＧ）の情報を保持する。
【００３５】
なお、図２で示した各テーブルのデータ構成（項目）はあくまで一例であり、同様のデータを保持・管理することが可能な構成であれば、他のテーブル構成やデータ構成であってもよい。
【００３６】
＜処理イメージ＞
図３は、レビュアー端末３０上でレビュアーがソースコードレビューを行う際の画面例について概要を示した図である。画面には、ソーシャルコーディングクライアント３１によりソースコードが行番号とともに表示されており、また、ソースコードの３行目には、レビュアー端末３０の視点監視部３２により視点ポインタ３４が表示されている。視点ポインタ３４は、アイカメラ３３および視点監視部３２により取得されたレビュアーの視点の現在位置を示し、レビュアーが視点を実際に動かすのに追従して画面上を移動する。図中の視点ポインタ３４に向かう曲線矢印は、視点ポインタ３４の移動の経路を模式的に示している（画面上に実際に表示されるわけではない）。
【００３７】
図３の例では、視点の経路から、ソースコードの３行目を目視により確認していると判断する。目視した箇所、すなわち、視点の経路上に該当する各行の部分については、例えば、ソーシャルコーディングクライアント３１と視点監視部３２との連携により、図示するように背景色を変えたり反転させたりなど、文字の表示方法を変えることで識別可能とする。各行につき、行全体、もしくは行全体のうちの所定の割合（例えば９割）以上をレビュアーが目視したことを検知した場合には、対象の行について目視によるレビューが行われたと判定することができ、その日時や行番号等のデータを開発管理サーバ１０へ送信してレビュー状況ＤＢ１５に記録する。このとき、対象の行について修正やコメント等が特になければレビュー結果ＯＫとしてもよい。
【００３８】
上述したように、一般的に、ソースコードはゼロから全てを作成することは少なく、効率化や品質向上の観点から、既に実績のある他のプログラムのソースコードの全部もしくは一部を引用して作成する場合が多い。このような引用部分については、信頼度や品質が高いと推測されるため、ソースコードレビュー等の静的テストを省略する等、効率化を図ることが可能である。
【００３９】
本実施の形態では、図３に示すように、他のソースコードからの引用である行には、その旨が認識可能となるよう、例えば、行番号の左側に引用マーク３５を付加表示する。ユーザが引用マーク３５をマウスクリック等により選択することで、引用元のソースコードの作成者等の識別情報を表示するようにしてもよい。さらに、引用元のソースコードが他のソースコードにより引用された件数や、レビューが実施された回数などの情報を併せて表示するようにしてもよい。これらの情報は、引用元のソースコード、ひいてはこれを引用しているソースコードの信頼度を相対的に向上させる指標となり得る。
【００４０】
図４は、レビュアー端末３０上でレビュアーがソースコードレビューを行う際の他の画面例について概要を示した図である。ここでは、図３に示した画面例に加えて、各行の右側に、レビュアーが当該行について実際に目視によりレビューを行った場合に、レビュー実施に係る情報として、例えば、各行についてのレビュー順序、レビューを行ったタイムスタンプ、およびレビュアーを特定する情報を表示している。開発者端末２０において当該ソースコードを表示する際にもこれらの情報を表示させることができる。図４の例では、特定のレビュアーによるレビュー実施情報を表示しているが、表示内容はこれに限られない。例えば、レビュー結果（ＯＫ／ＮＧ）の情報を記号や文字列、色等により識別可能なように表示してもよいし、複数のレビュアーによりレビューが実施された場合にはレビュアー毎の実施情報や、レビュー結果の情報を表示できるようにしてもよい。
【００４１】
図５は、開発者端末２０およびレビュアー端末３０が連携してソースコードレビューを行う際の画面例について概要を示した図である。ここでは、開発者端末２０およびレビュアー端末３０のそれぞれにおいて、図３に示した画面例におけるレビュアーの視点ポインタ３４に加えて、開発者の視点の現在位置を示す視点ポインタ２４が同時に表示されている。開発者の視点ポインタ２４は、開発者端末２０においてアイカメラ２３および視点監視部２２により取得された開発者の視点の現在位置を示し、開発者が視点を実際に動かすのに追従して画面上を移動する。
【００４２】
図５の例では、開発者端末２０およびレビュアー端末３０がネットワーク４０および開発管理サーバ１０のレビュー制御部１２を介して相互に視点の位置情報を授受し、お互いが自身の視点ポインタに加えて他方の視点ポインタを同時に表示することを可能としている。これにより、例えば、開発者とレビュアーが互いに遠隔地に所在している場合でも、各人がソースコード上のどの部分を実際に見ているのかを相互に把握しつつ、効率的にソースコードレビューなどの静的テストを実施することが可能となる。
【００４３】
以上に説明したように、本発明の一実施の形態である静的テスト支援システムによれば、ソースコードレビュー等の静的テストの際に、レビュアー端末３０に設けられたアイカメラ３３によりレビュアーの視点を検知し、ソースコードの各行につき、行内の全てのコードを視点が通過した場合に当該行のチェックが完了したものとする。これにより、レビュアーが実際にソースコードの該当箇所を目視したことのエビデンスを得てカバレッジを確保することができる。また、開発者端末２０にもアイカメラ２３を設けて開発者の視点を同様に検知し、レビュアーの視点の情報と併せて画面表示することで、開発者とレビュアーが視点の情報を共有し、遠隔地でも共同でのレビューを実施することが可能となる。
【００４４】
また、どのレビュアーがいつどういう順でソースコードの各行を実際に確認したのかのレビュー実施情報を蓄積するとともに、その情報をソースコードの各行と対応させて開発者やレビュアーのクライアント端末上に表示させる。これにより、例えば、レビューを依頼した開発者が、どのようなレビュアーがどの行をどのくらいの滞留時間で目視してレビューし、また、どういう順序でソースコードの各行を追ったのかの情報を把握することができ、開発やレビューの品質向上および効率化を図ることができる。
【００４５】
また、ソースコードが他のソースコードの引用により作成されているということを対応箇所に明示した上で、開発者やレビュアーのクライアント端末上に表示させることで、信頼度や品質が高いと推測される箇所を把握可能とし、静的テストを省略する等、効率化を図ることが可能となる。
【００４６】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記の実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【産業上の利用可能性】
【００４７】
本発明は、ソースコードレビュー等の静的テストの実施を支援する静的テスト支援システムに利用可能である。
【符号の説明】
【００４８】
１…静的テスト支援システム、
１０…開発管理サーバ、１１…ソーシャルコーディングシステム、１２…レビュー制御部、１３…レビュー状況表示部、１４…リポジトリＤＢ、１５…レビュー状況ＤＢ、
２０…開発者端末、２１…ソーシャルコーディングクライアント、２２…視点監視部、２３…アイカメラ、２４…視点ポインタ、
３０…レビュアー端末、３１…ソーシャルコーディングクライアント、３２…視点監視部、３３…アイカメラ、３４…視点ポインタ、３５…引用マーク、
４０…ネットワーク
【要約】
ソーシャルコーディングにおいて静的テストの際にレビュアーが実際にソースコードを目視により確認したことのエビデンスを記録し、静的テストの実施結果の情報を蓄積し表示可能とする静的テスト支援システムである。代表的な実施の形態によれば、開発管理サーバは、レビュアー端末から取得した静的テストの実施情報をレビュー状況記録部に記録するレビュー制御部を有し、レビュアー端末は、アイカメラによりレビュアーの視点の情報を取得する視点監視部を有し、ソースコードに対してレビュアーが静的テストを実施する際に、視点監視部により取得した視点の情報をトラッキングして、視点の経路上に該当するソースコード内の行について目視により確認したとし、行における所定の割合以上を目視により確認した場合に当該行に対する確認が実施されたものとして、静的テストの実施情報を開発管理サーバに送信する。【図１】
0005732597.tif 000002
【図２】
0005732597.tif 000003
【図３】
0005732597.tif 000004
【図４】
0005732597.tif 000005
【図５】
0005732597.tif 000006