特許第5732597号(P5732597)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立システムズの特許一覧

<>
  • 特許5732597-静的テスト支援システム 図000002
  • 特許5732597-静的テスト支援システム 図000003
  • 特許5732597-静的テスト支援システム 図000004
  • 特許5732597-静的テスト支援システム 図000005
  • 特許5732597-静的テスト支援システム 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】5732597
(24)【登録日】2015年4月17日
(45)【発行日】2015年6月10日
(54)【発明の名称】静的テスト支援システム
(51)【国際特許分類】
   G06F 11/36 20060101AFI20150521BHJP
【FI】
   G06F9/06 620M
   G06F9/06 620P
【請求項の数】4
【全頁数】12
(21)【出願番号】特願2014-539179(P2014-539179)
(86)(22)【出願日】2014年7月3日
(86)【国際出願番号】JP2014067835
【審査請求日】2014年8月20日
(73)【特許権者】
【識別番号】000233491
【氏名又は名称】株式会社日立システムズ
(74)【代理人】
【識別番号】100080001
【弁理士】
【氏名又は名称】筒井 大和
(74)【代理人】
【識別番号】100113642
【弁理士】
【氏名又は名称】菅田 篤志
(74)【代理人】
【識別番号】100117008
【弁理士】
【氏名又は名称】筒井 章子
(74)【代理人】
【識別番号】100147430
【弁理士】
【氏名又は名称】坂次 哲也
(72)【発明者】
【氏名】池田 秀樹
【審査官】 石川 亮
(56)【参考文献】
【文献】 特開2009−146207(JP,A)
【文献】 特開2005−190330(JP,A)
【文献】 米国特許出願公開第2008/0295085(US,A1)
【文献】 上野秀剛,外5名,プログラマの視線を用いたレビュープロセスの分析,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2005年 6月16日,VOL.105, NO.128,P.21-26
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
G06F 9/44
(57)【特許請求の範囲】
【請求項1】
ソーシャルコーディングにおける静的テストを支援する静的テスト支援システムであって、
ソーシャルコーディングシステムを有する開発管理サーバと、
開発者が有する情報処理端末であり、前記ソーシャルコーディングシステムのクライアント機能を有する1つ以上の開発者端末と、
レビュアーが有する情報処理端末であり、前記ソーシャルコーディングシステムのクライアント機能を有する1つ以上のレビュアー端末と、がネットワークにそれぞれ接続され、
前記開発管理サーバは、前記レビュアー端末から取得した静的テストの実施情報をレビュー状況記録部に記録するレビュー制御部を有し、
前記レビュアー端末は、アイカメラにより前記レビュアーの視点の情報を取得するレビュアー視点監視部を有し、前記レビュアー端末が表示した前記ソースコードに対して前記レビュアーが静的テストを実施する際に、前記レビュアー視点監視部により取得した前記視点の情報をトラッキングして、前記視点の経路上に該当する前記ソースコード内の行について、前記レビュアーが目視により確認したとし、前記行における所定の割合以上を目視により確認した場合に前記行に対する確認が実施されたものとして、その日時、確認が実施された前記行、および前記レビュアーに係る情報を含む前記静的テストの実施情報を前記開発管理サーバに送信する、静的テスト支援システム。
【請求項2】
請求項1に記載の静的テスト支援システムにおいて、
前記開発管理サーバは、さらに、
前記開発者端末もしくは前記レビュアー端末に前記ソースコードを表示させる際に、前記ソースコードの前記行毎に、前記レビュー状況記録部に記録された前記行に係る前記静的テストの実施情報、および前記レビュアーによる確認が実施された順序の情報を、併せて表示させるレビュー状況表示部を有する、静的テスト支援システム。
【請求項3】
請求項1に記載の静的テスト支援システムにおいて、
前記開発管理サーバは、前記開発者端末もしくは前記レビュアー端末に前記ソースコードを表示させる際に、前記ソースコード内の前記行が他のソースコードから引用したものである場合に、その旨と、前記他のソースコードの開発者の情報、前記他のソースコードがその他のソースコードにより引用されている数の情報、および前記他のソースコードに対する静的テストが実施された数の情報のうち1つ以上の情報と、を表示する、静的テスト支援システム。
【請求項4】
請求項1に記載の静的テスト支援システムにおいて、
前記開発者端末は、アイカメラにより前記開発者の視点の情報を取得する開発者視点監視部を有し、
前記開発管理サーバは、前記ソースコードに対して前記レビュアーが静的テストを実施する際に、前記開発者端末および前記レビュアー端末に前記ソースコードを表示させ、それぞれに、前記レビュアー端末の前記レビュアー視点監視部により取得した前記レビュアーの前記視点の情報と、前記開発者端末の前記開発者視点監視部により取得した前記開発者の前記視点の情報と、を表示させる、静的テスト支援システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェア開発の技術に関し、特に、ソースコードレビュー等の静的テストの実施を支援する静的テスト支援システムに適用して有効な技術に関するものである。
【背景技術】
【0002】
ソフトウェア開発では、一般的に、開発したプログラムを実際に実行してテストする動的テストの前に、プログラムを実行させないで行う静的テストが行われる。静的テストには、例えば、ソースコードレビューや、インスペクション、ピアレビューなど、手法や目的等が異なるいくつかのものが知られている。
【0003】
プログラムの静的テストに関する技術としては、例えば、特開平9−26897号公報(特許文献1)には、ソースコードから当該ソースコードに含まれる各データの構造を表す情報であるデータ情報を抽出するデータ抽出手段と、ソースコードとデータ情報とに基づいて、ソースコード上の位置ごとに、データ間に存在する関連を表す関連情報を抽出する関連抽出手段と、ソースコード、データ情報及び関連情報に基づいて、ソースコード中の各処理に関わる各関連情報を、当該処理を表す情報である処理情報として抽出する処理抽出手段とを有するプログラム解析装置が記載されている。
【0004】
また、特開2013−45307号公報(特許文献2)には、変更有無によらずに、全てのソースコードファイルを静的解析する検証実行部と、ソースコードファイルおよび検証実行部による検証結果をリビジョン毎に保存するリポジトリと、検証結果において各指摘項目をクライアント装置の画面に表示するかどうかを示す確認フラグを更新する確認フラグ更新部とを備える静的解析装置と、静的解析装置から検証結果を取得する検証結果アクセス部と、検証結果の指摘項目の一覧、および次の静的解析時では表示不要な指摘項目をユーザに選択させる画面を表示し、表示不要な指摘項目を含む検証結果を確認フラグ更新部に送信する検証結果確認部とを備えるクライアント装置とからなる静的解析システムが記載されている。
【0005】
一方で、近年のソフトウェア開発では、例えば、ソースコード等をクラウドコンピューティング環境などに置かれたリポジトリ上で共有し、複数の開発者がネットワークを介して協調して開発を行うソーシャルコーディングという手法が普及してきており、レビューなどの処理がネットワークを介して行われる場合がある。なお、ソーシャルコーディングを行うためのツールやシステムとしては、例えば、GitHub(非特許文献1)などが知られている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平9−26897号公報
【特許文献2】特開2013−45307号公報
【非特許文献】
【0007】
【非特許文献1】GitHubホームページ、[平成26年6月20日検索]、インターネット<URL:https://github.com>
【発明の概要】
【発明が解決しようとする課題】
【0008】
ソーシャルコーディングにおける静的テストでは、ネットワークを介してリモートで実施される場合もあることから、例えば、ソースコードレビューにおいて、レビュアーが実際に対象の全てのソースコードを目視して確認したか否かについてはエビデンスがないため不明であり、自己申告に基づいてレビューの実施が判断されている。従って、レビューの品質が担保されない場合があるという課題を有する。
【0009】
また、一般的に、ソースコードはゼロから全てを作成することは少なく、効率化や品質向上の観点から、既に実績のある他のプログラムのソースコードの全部もしくは一部を引用して作成する場合が多い。しかしながら、このようなソースコードに対して手順通りの静的テストを行う場合には、既にレビューが実施され、稼働実績もあるプログラムのソースコードから引用した部分についても、他のゼロから作成した部分と同様のレビューが再度実施されることになり、レビューの重複による非効率が生じることになる。
【0010】
そこで本発明の目的は、ソーシャルコーディングにおいて、ソースコードレビュー等の静的テストの際に、少なくともレビュアーが実際に対象のソースコードを目視により確認したことのエビデンスを記録し、静的テストの実施結果として、誰がいつ実際にソースコードを見たかの情報を蓄積し、表示可能とする静的テスト支援システムを提供することにある。
【0011】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0012】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【0013】
本発明の代表的な実施の形態による静的テスト支援システムは、ソーシャルコーディングにおける静的テストを支援する静的テスト支援システムであって、ソーシャルコーディングシステムを有する開発管理サーバと、開発者が有する情報処理端末であり、前記ソーシャルコーディングシステムのクライアント機能を有する1つ以上の開発者端末と、レビュアーが有する情報処理端末であり、前記ソーシャルコーディングシステムのクライアント機能を有する1つ以上のレビュアー端末と、がネットワークにそれぞれ接続される構成を有する。
【0014】
前記開発管理サーバは、前記レビュアー端末から取得した静的テストの実施情報をレビュー状況記録部に記録するレビュー制御部を有し、前記レビュアー端末は、アイカメラにより前記レビュアーの視点の情報を取得するレビュアー視点監視部を有し、前記レビュアー端末が表示した前記ソースコードに対して前記レビュアーが静的テストを実施する際に、前記レビュアー視点監視部により取得した前記視点の情報をトラッキングして、前記視点の経路上に該当する前記ソースコード内の行について、前記レビュアーが目視により確認したとし、前記行における所定の割合以上を目視により確認した場合に前記行に対する確認が実施されたものとして、その日時、確認が実施された前記行、および前記レビュアーに係る情報を含む前記静的テストの実施情報を前記開発管理サーバに送信するものである。
【発明の効果】
【0015】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【0016】
すなわち、本発明の代表的な実施の形態によれば、ソーシャルコーディングにおいて、ソースコードレビュー等の静的テストの際に、少なくともレビュアーが実際に対象のソースコードを目視により確認したことのエビデンスを記録し、静的テストの実施結果として、誰がいつ実際にソースコードを見たかの情報を蓄積し、表示することが可能となる。
【図面の簡単な説明】
【0017】
図1】本発明の一実施の形態である静的テスト支援システムの構成例について概要を示した図である。
図2】本発明の一実施の形態におけるレビュー状況DBのデータ構成の例について概要を示した図である。
図3】本発明の一実施の形態におけるレビュアー端末上でレビュアーがソースコードレビューを行う際の画面例について概要を示した図である。
図4】本発明の一実施の形態におけるレビュアー端末上でレビュアーがソースコードレビューを行う際の他の画面例について概要を示した図である。
図5】本発明の一実施の形態における開発者端末およびレビュアー端末が連携してソースコードレビューを行う際の画面例について概要を示した図である。
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0019】
本発明の一実施の形態である静的テスト支援システムは、ソーシャルコーディングにおけるソースコードレビュー等の静的テストの際に、レビュアーのクライアント端末に設けられたアイカメラ(視点センサ)によりレビュアーの視点・視線を検知し、例えば、ソースコードの各行につき、行内の全てのコードを視点が通過した場合に当該行のチェックが完了したものとする。これにより、レビュアーが実際にソースコードの該当箇所を目視したことのエビデンスを得てカバレッジを確保することができる。
【0020】
また、誰が(どのレビュアーが)いつどういう順でソースコードの各行を実際に確認したのかの情報を蓄積するとともに、その情報をソースコードの各行と対応させて開発者やレビュアーのクライアント端末上に表示させる。これにより、例えば、レビューを依頼した開発者が、誰がどの行をどのくらいの滞留時間で目視してレビューし、また、どういう順序でソースコードの各行を追ったのかの情報を把握することができ、レビューの品質向上および効率化を図ることができる。
【0021】
すなわち、開発者が、レビュアーが実際に追ったロジックをトレースし、どの部分を重点的に確認したのかを把握することができることから、開発者は、ソースコードの品質向上につなげることができる有益な参照情報を得ることができる。さらに、レビュアーがスキルが高く著名な者であるような場合には、そのようなレビュアーにレビューされるということが開発者のモチベーションともなり、さらなる品質向上や開発者のスキル向上も期待することができる。また、このようなレビュアーがチェックしたソースコードであれば、信頼度や品質が高いと推測されるため、静的テストを省略する等、効率化を図ることが可能となる。
【0022】
また、既に稼働実績を有するプログラム等のソースコードを引用してソースコードを作成している場合、引用により作成されているということをソースコードの対応箇所に明示した上で、開発者やレビュアーのクライアント端末上に表示させる。このような箇所も、信頼度や品質が高いと推測されるため、静的テストを省略する等、効率化を図ることが可能となる。
【0023】
<システム構成>
図1は、本発明の一実施の形態である静的テスト支援システムの構成例について概要を示した図である。静的テスト支援システム1は、開発管理サーバ10に対して、インターネットやイントラネット等のネットワーク40を介して、複数の開発者がそれぞれ使用する情報処理端末である開発者端末20、および複数のレビュアーがそれぞれ使用する情報処理端末であるレビュアー端末30が、通信可能なように接続されている構成を有する。
【0024】
開発管理サーバ10は、例えば、サーバ機器やクラウドコンピューティング環境上に構築された仮想サーバなどにより実装され、ネットワーク40を介して、複数の開発者によるソースコード等の開発を管理、支援する機能を提供するサーバシステムである。開発管理サーバ10は、例えば、図示しないOS(Operating System)やDBMS(DataBase Management System)、Webサーバプログラムなどのミドルウェア上で稼働するソフトウェアにより実装されるソーシャルコーディングシステム11や、レビュー制御部12、レビュー状況表示部13などの各部を有する。また、データベース等により実装されるリポジトリデータベース(DB)14およびレビュー状況DB15などの各テーブルを有する。
【0025】
ソーシャルコーディングシステム11は、ソーシャルコーディングの機能を提供するサーバシステムやツールであり、例えば、上述したGitHub(非特許文献1)などの公知のツールを適宜利用することができる。ソーシャルコーディングシステム11は、例えば、開発されたソースコードやプログラム等の成果物をリポジトリDB14に保持してバージョン管理を行うことができる。また、新たな開発を行う際に、マスタのソースコードやベースとなるソースコードから派生、分岐させた開発用の単位としてのブランチを作成してリポジトリDB14に登録し、ブランチの単位でソースコードの開発(コーディング)やテスト、レビュー、元のブランチへの反映、登録などの開発管理を行うことができる。
【0026】
レビュー制御部12は、ソーシャルコーディングシステム11と連携し、開発されたソースコード等に対するレビュアーによるレビュー(静的テスト)の実施を支援、制御する機能を有する。ここでは、例えば、レビュアーがレビューの際にソースコード中の必要な箇所を実際に目視して確認したかどうかを担保するために、各レビュアーがソースコード中のどの行をいつ実際に目視したか等のレビュー実施情報をレビュアー端末30等から取得してレビュー状況DB15に履歴として記録、蓄積する機能を有する。
【0027】
レビュー状況表示部13は、ソーシャルコーディングシステム11が開発者端末20やレビュアー端末30上に開発中のソースコード等を表示させる際に、ソーシャルコーディングシステム11と連携して、対象のソースコードについてのレビュー状況を併せて表示させる機能を有する。例えば、レビュー状況DB15に蓄積されたレビュー実施の履歴情報に基づいて、対象のソースコード中の各行について、いつどのレビュアーがどういう順序で実際に目視して確認したかの情報を抽出し、後述するような画面によって表示させる機能を有する。
【0028】
開発者端末20およびレビュアー端末30は、それぞれ、PC(Personal Computer)等の情報処理端末により実装され、ネットワーク40を介して開発管理サーバ10にアクセスし、開発者やレビュアーがソースコード等の開発やテスト、レビュー等の作業を実際に行う際のユーザインタフェースを含む機能を提供するクライアントシステムである。開発者端末20およびレビュアー端末30は、それぞれ、例えば、図示しないOSなどのミドルウェアやWebブラウザ上で稼働するソフトウェアにより実装される、ソーシャルコーディングクライアント21、31や視点監視部22、32などの各部を有する。
【0029】
ソーシャルコーディングクライアント21、31は、それぞれ、開発管理サーバ10のソーシャルコーディングシステム11に対応するクライアントアプリケーションであり、ソースコード等の開発やテスト、レビュー等の作業をユーザが行う際のインタフェースを提供する機能を有する。
【0030】
視点監視部22、32は、それぞれ、開発者端末20およびレビュアー端末30を使用する開発者およびレビュアーの視点の位置を常時トラッキングする機能を有する。例えば、開発者端末20およびレビュアー端末30がそれぞれ備えるアイカメラ23、33を制御して、開発者やレビュアーの目の動き等の情報を取得し、これらに基づいて視点の位置を算出して出力するという公知のアイトラッキング技術やツール等を適宜利用することができる。なお、アイカメラ23、33は、例えば、眼球の動きを撮影するカメラや、黒目の位置を検出する赤外線センサなどにより構成される。
【0031】
視点監視部22、32により、例えば、開発者端末20およびレビュアー端末30の画面上に、ソーシャルコーディングクライアント21、31によりレビューのためにソースコードが表示されている状況で、開発者やレビュアーがソースコードのどの行のどの部分を実際に見ているかを把握することができる。レビュアーが各行について目視により確認したと判定される場合には、その旨の情報を開発管理サーバ10のレビュー制御部12に送信し、レビュー制御部12によりレビュー状況DB15に履歴として記録する。
【0032】
なお、図1の例では、開発者端末20にも視点監視部22およびアイカメラ23を有して、開発者の視点をトラッキングすることができるようにしているが、開発者端末20には必ずしも必要ではない。少なくともレビュアー端末30については視点監視部32およびアイカメラ33を有しており、レビュー時のレビュアーの視点をトラッキングすることができればよい。
【0033】
<データ構成>
図2は、開発管理サーバ10のレビュー状況DB15のデータ構成の例について概要を示した図である。レビュー状況DB15は、開発中の各ソースコードについてのソースコードレビュー等の静的テストの実施情報や状況に係る情報をソースコードの行単位で保持するテーブルであり、例えば、レビュー日時、ブランチ名、ソースコード名、行番号、レビュアー、およびレビュー結果などの各項目を有する。
【0034】
レビュー日時の項目は、対象のレビューを行った時点、すなわち、ソースコード中の対象の行をレビュアーが目視により確認した時点のタイムスタンプの情報を保持する。ブランチ名の項目は、対象のソースコードが含まれるブランチを特定する名称等の情報を保持する。ソースコード名の項目は、対象のソースコードを特定する名称等の情報を保持する。行番号の項目は、対象のソースコードにおいてレビュアーが目視により確認した行を特定する行番号の情報を保持する。レビュアーの項目は、対象のソースコードにおける対象の行を目視によりレビューしたレビュアーを特定するIDや氏名等の情報を保持する。レビュー結果の項目は、対象のソースコードにおける対象の行に対するレビューの結果(例えばOK/NG)の情報を保持する。
【0035】
なお、図2で示した各テーブルのデータ構成(項目)はあくまで一例であり、同様のデータを保持・管理することが可能な構成であれば、他のテーブル構成やデータ構成であってもよい。
【0036】
<処理イメージ>
図3は、レビュアー端末30上でレビュアーがソースコードレビューを行う際の画面例について概要を示した図である。画面には、ソーシャルコーディングクライアント31によりソースコードが行番号とともに表示されており、また、ソースコードの3行目には、レビュアー端末30の視点監視部32により視点ポインタ34が表示されている。視点ポインタ34は、アイカメラ33および視点監視部32により取得されたレビュアーの視点の現在位置を示し、レビュアーが視点を実際に動かすのに追従して画面上を移動する。図中の視点ポインタ34に向かう曲線矢印は、視点ポインタ34の移動の経路を模式的に示している(画面上に実際に表示されるわけではない)。
【0037】
図3の例では、視点の経路から、ソースコードの3行目を目視により確認していると判断する。目視した箇所、すなわち、視点の経路上に該当する各行の部分については、例えば、ソーシャルコーディングクライアント31と視点監視部32との連携により、図示するように背景色を変えたり反転させたりなど、文字の表示方法を変えることで識別可能とする。各行につき、行全体、もしくは行全体のうちの所定の割合(例えば9割)以上をレビュアーが目視したことを検知した場合には、対象の行について目視によるレビューが行われたと判定することができ、その日時や行番号等のデータを開発管理サーバ10へ送信してレビュー状況DB15に記録する。このとき、対象の行について修正やコメント等が特になければレビュー結果OKとしてもよい。
【0038】
上述したように、一般的に、ソースコードはゼロから全てを作成することは少なく、効率化や品質向上の観点から、既に実績のある他のプログラムのソースコードの全部もしくは一部を引用して作成する場合が多い。このような引用部分については、信頼度や品質が高いと推測されるため、ソースコードレビュー等の静的テストを省略する等、効率化を図ることが可能である。
【0039】
本実施の形態では、図3に示すように、他のソースコードからの引用である行には、その旨が認識可能となるよう、例えば、行番号の左側に引用マーク35を付加表示する。ユーザが引用マーク35をマウスクリック等により選択することで、引用元のソースコードの作成者等の識別情報を表示するようにしてもよい。さらに、引用元のソースコードが他のソースコードにより引用された件数や、レビューが実施された回数などの情報を併せて表示するようにしてもよい。これらの情報は、引用元のソースコード、ひいてはこれを引用しているソースコードの信頼度を相対的に向上させる指標となり得る。
【0040】
図4は、レビュアー端末30上でレビュアーがソースコードレビューを行う際の他の画面例について概要を示した図である。ここでは、図3に示した画面例に加えて、各行の右側に、レビュアーが当該行について実際に目視によりレビューを行った場合に、レビュー実施に係る情報として、例えば、各行についてのレビュー順序、レビューを行ったタイムスタンプ、およびレビュアーを特定する情報を表示している。開発者端末20において当該ソースコードを表示する際にもこれらの情報を表示させることができる。図4の例では、特定のレビュアーによるレビュー実施情報を表示しているが、表示内容はこれに限られない。例えば、レビュー結果(OK/NG)の情報を記号や文字列、色等により識別可能なように表示してもよいし、複数のレビュアーによりレビューが実施された場合にはレビュアー毎の実施情報や、レビュー結果の情報を表示できるようにしてもよい。
【0041】
図5は、開発者端末20およびレビュアー端末30が連携してソースコードレビューを行う際の画面例について概要を示した図である。ここでは、開発者端末20およびレビュアー端末30のそれぞれにおいて、図3に示した画面例におけるレビュアーの視点ポインタ34に加えて、開発者の視点の現在位置を示す視点ポインタ24が同時に表示されている。開発者の視点ポインタ24は、開発者端末20においてアイカメラ23および視点監視部22により取得された開発者の視点の現在位置を示し、開発者が視点を実際に動かすのに追従して画面上を移動する。
【0042】
図5の例では、開発者端末20およびレビュアー端末30がネットワーク40および開発管理サーバ10のレビュー制御部12を介して相互に視点の位置情報を授受し、お互いが自身の視点ポインタに加えて他方の視点ポインタを同時に表示することを可能としている。これにより、例えば、開発者とレビュアーが互いに遠隔地に所在している場合でも、各人がソースコード上のどの部分を実際に見ているのかを相互に把握しつつ、効率的にソースコードレビューなどの静的テストを実施することが可能となる。
【0043】
以上に説明したように、本発明の一実施の形態である静的テスト支援システムによれば、ソースコードレビュー等の静的テストの際に、レビュアー端末30に設けられたアイカメラ33によりレビュアーの視点を検知し、ソースコードの各行につき、行内の全てのコードを視点が通過した場合に当該行のチェックが完了したものとする。これにより、レビュアーが実際にソースコードの該当箇所を目視したことのエビデンスを得てカバレッジを確保することができる。また、開発者端末20にもアイカメラ23を設けて開発者の視点を同様に検知し、レビュアーの視点の情報と併せて画面表示することで、開発者とレビュアーが視点の情報を共有し、遠隔地でも共同でのレビューを実施することが可能となる。
【0044】
また、どのレビュアーがいつどういう順でソースコードの各行を実際に確認したのかのレビュー実施情報を蓄積するとともに、その情報をソースコードの各行と対応させて開発者やレビュアーのクライアント端末上に表示させる。これにより、例えば、レビューを依頼した開発者が、どのようなレビュアーがどの行をどのくらいの滞留時間で目視してレビューし、また、どういう順序でソースコードの各行を追ったのかの情報を把握することができ、開発やレビューの品質向上および効率化を図ることができる。
【0045】
また、ソースコードが他のソースコードの引用により作成されているということを対応箇所に明示した上で、開発者やレビュアーのクライアント端末上に表示させることで、信頼度や品質が高いと推測される箇所を把握可能とし、静的テストを省略する等、効率化を図ることが可能となる。
【0046】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記の実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【産業上の利用可能性】
【0047】
本発明は、ソースコードレビュー等の静的テストの実施を支援する静的テスト支援システムに利用可能である。
【符号の説明】
【0048】
1…静的テスト支援システム、
10…開発管理サーバ、11…ソーシャルコーディングシステム、12…レビュー制御部、13…レビュー状況表示部、14…リポジトリDB、15…レビュー状況DB、
20…開発者端末、21…ソーシャルコーディングクライアント、22…視点監視部、23…アイカメラ、24…視点ポインタ、
30…レビュアー端末、31…ソーシャルコーディングクライアント、32…視点監視部、33…アイカメラ、34…視点ポインタ、35…引用マーク、
40…ネットワーク


【要約】
ソーシャルコーディングにおいて静的テストの際にレビュアーが実際にソースコードを目視により確認したことのエビデンスを記録し、静的テストの実施結果の情報を蓄積し表示可能とする静的テスト支援システムである。代表的な実施の形態によれば、開発管理サーバは、レビュアー端末から取得した静的テストの実施情報をレビュー状況記録部に記録するレビュー制御部を有し、レビュアー端末は、アイカメラによりレビュアーの視点の情報を取得する視点監視部を有し、ソースコードに対してレビュアーが静的テストを実施する際に、視点監視部により取得した視点の情報をトラッキングして、視点の経路上に該当するソースコード内の行について目視により確認したとし、行における所定の割合以上を目視により確認した場合に当該行に対する確認が実施されたものとして、静的テストの実施情報を開発管理サーバに送信する。
図1
図2
図3
図4
図5