はじめに

本サイトは、「差分情報を用いたコードレビューコスト見積り」研究の一部で実施している、コードレビューのハンズオンをオンラインで行うためのサイトです。
私達、奈良先端科学技術大学院大学 情報科学研究科 ソフトウェアレビュー研究班 は、ハンズオンの協力者を募集しています。

2009年7月12日 ソフトウェアレビュー研究班


ハンズオン概要

本ハンズオンでは、あるソフトウェアの開発過程で作成された、いくつかの差分情報(パッチファイルおよびソースファイル)のコードレビューに要したコスト(時間)を計測します。

ハンズオンの流れとしましては、パッチファイルの適用対象となる「ベースプログラム」の処理や構造を理解していただいた後に、各種「差分情報」をレビューしていただきます。
その際に、「レビュー時間」、「レビュー箇所」、「どのようにレビューしたか」等を、指定のファイルに記録していただきます。

ハンズオン対象のソフトウェアは、JavaAppletで実装されたWindows標準ペイントライクな 「ペイントツール」 です。
本ハンズオンは、必要な時間に個人差が生じる可能性があるため、時間制限は設けておりません。 また、ハンズオンが複数日にわたっても構いません。

※ なお、本ハンズオンにより得られた結果は論文を記述する際に使用させていただく予定ですが、個人情報は一切掲載いたしません。
何か疑問点などありましたら、遠慮なく code-reading-2009@is.aist-nara.ac.jp までメールしていただければと思います。


9/27(日)(第2次締切り)、10/12(月)(第3次締切り)を予定しております。

不明な点が多い旨のご指摘をいただきました。旧バージョンの本Webページがわかりにくかったことをお詫び申し上げるととともに、本ハンズオンへのご参加をお願い申し上げます。 (奈良先端科学技術大学院大学 森崎 修司) ハンズオンの目的等は こちら を、背景等細かい情報は codezine記事 をご覧ください。

概要

ハンズオンでは、画像編集ツールのバージョンnに機能追加をし、バージョン(n+1)とすることを想定しており、以下の手順でソースコードを読解いただきます。

  1. バージョンn(ベースプログラム)を理解いただき、所用時間を報告いただく
  2. バージョン(n+1)との差分(差分情報1~15)を適用して問題ないか、個々にお答えいただく。また、その所要時間を報告いただく

その際の読み方の指針や理解のポイントを自由記述で回答いただく。

ハンズオン手順

手順 1.  結果記録用ファイルをダウンロードいただき、「1.」のアンケートにご回答ください

当学での集計コストを下げるためにMS Word形式としておりますが、テキスト形式でお送りいただいても構いません。crcFormat.txt

手順 2. バージョンn(ベースプログラム)を理解いただく。

ソフトウェアに求められる品質として「新入社員教育のプログラミング研修の最終課題として、数人のチームで開発しているソフトウェア」を想定ください。

ベースプログラムは、以降の差分情報(パッチファイル)の適用対象となります。
以降の差分情報の多く(10.1~10.4以外)は、ベースプログラムに対して、新規の機能を追加するものであったり、既存の機能を修正するものであったり、不要な機能を削除するものであったりします。
上のリンクから「ベースプログラムのアプレット(動作するプログラム)」「クラス図」「GUIコンポーネント配置図」をご覧いただけます。

理解の終了基準は以下を参考としてお考えください。

  • どのようなプログラムであるのかが理解できた
  • GUIの各ボタンが、どのクラス(ソースファイル)の、どのメソッドで実現されているかを理解できた
  • 各クラス(ソースファイル)のメソッド、フィールドの役割が理解できた

手順 3. ベースプログラムを読んだ順序、所要時間を結果記録用ファイル「2. ベースプログラムの理解」に記入いただく

所要時間は、クラス毎にご記入ください。読んだ順序については、特に書式を定めておりません。時間がかかった箇所、読み進めた方針をご記入ください

手順 4. バージョン(n + 1)とバージョンnの差分情報01~15のそれぞれについて、適用可能か判断いただき、結果記録用ファイルに記録いただく

各差分情報をお読みになり、適用して問題がないかどうかをご判断ください。10.0~10.4は10.0→10.1→10.2→10.3→10.4の順番でご確認ください。他の差分情報は確認いただく順序はありません。差分情報の説明はここにあります。また、ハンズオンの主旨に反しますので、プログラムを実行して確認するのはお控えください。今後、IDEや静的解析ツールによる効果を確かめるハンズオンを実施する可能性がありますが、今回は、ツールを使わず実施ください。

判断の基準は以下を参考としてお考えください。

  • どのような変更であるか理解できた
  • 変更を適用しても問題がおきない(ベースプログラムの品質が保たれているか)か判断できた
  • 変更によって新たな不具合や欠陥を作りこんでいないか確認した

差分情報

結果記録用ファイルの「差分情報 01~15」のそれぞれについて以下をご記入ください。

  • 内容確認/適用判断の所要時間 (単位:分)
  • 差分がどのような変更であるかご記入ください クラス名やメソッド名やフィールド名などを引用してご記入ください。
  • 差分適用の可否とその理由をご記入ください 問題ない/問題がある のいずれかを選択ください。問題があると回答された場合は、その理由を記述してください。
  • 差分情報をどのように読み進めたかご記入ください
  • 追加・削除されるソースコード自体(=差分情報自体)と、追加・削除が施されるベースプログラムとその周辺(=既存部分)の、どちらの理解に時間を費やしたかご記入ください
  • Java標準ライブラリのパッケージ、クラス、メソッド等を調べた場合には、その名称をご記入ください
  • 確認されたソースコードと所要時間をクラス毎にご記入ください

手順 5. 結果記録用ファイルをメールで送信ください

ハンズオン結果記録用ファイルを code-reading-2009@is.aist-nara.ac.jp までメールで送信下さい。
メールを確認次第、受け取った旨を折り返しお伝えさせていただきます。また、3次締切り終了後、結果を集計し、メールアドレスにお知らせする予定です。


ご協力ありがとうございます。

サイト概要

本サイトは、国立大学法人奈良先端科学技術大学院大学 情報科学研究科 情報システム学専攻 ソフトウェア工学講座 ソフトウェアレビュー研究班 が現在進めている研究テーマの一つである、「差分情報を用いたコードレビューコスト見積り」の研究の一部で実施している、コードレビューのオンラインハンズオンのためのサイトです。

また、本研究の目標は、コードレビューコストの要因となっている差分情報の特徴(変更量、影響範囲、複雑度など)を明らかにすることにより、コードレビューコスト見積りモデルを構築することです。

研究の沿革