第 5 章 プログラム変更検出ツール 53
5.3 プログラム変更閲覧部
本ツールのプログラム変更の閲覧部について説明する.本ツールのプラグイン をEclipseのpluginフォルダへ入れ,Eclipseを起動した時のEclipseの画面のスク リーンショットを図 5.2に示す.図の赤枠にあるボタンをクリックすると,本ツー
ルがEclipseの機能の一部として起動され,図 5.3に示すプログラム変更を閲覧す
るウィンドウが出現する.
プログラム変更を閲覧するウィンドウは,編集操作履歴の読み込みや集約条件 の設定,プログラム変更の検出を行う操作パネル(画面黄枠),検出した結果を閲 覧する変更閲覧パネル(画面青枠),閲覧している1つのプログラム変更の変更場 所を示す変更場所パネル(画面赤枠),そのプログラム変更の変更内容を示す差分 パネル(画面緑枠)の4つのパネルで構成されている.
編集操作履歴の読み込みを行うと,本手法によって検出されたプログラム変更 のリストが変更閲覧パネルに提示され,リストに提示された1つのプログラム変 更を表す行をクリックすると,その行がハイライトされ(変更閲覧パネルの5行
5.3. プログラム変更閲覧部 63
図 5.2: Eclipseの画面
図 5.3: プログラム変更閲覧ウィンドウ
図 5.4: 操作パネルと変更閲覧パネル
図 5.5: 変更場所パネルと差分パネル
5.3. プログラム変更閲覧部 65 目),その行のプログラム変更が行われたファイルが変更場所パネルに,そのプロ グラム変更の変更内容を表すテキスト差分が差分パネルにそれぞれ提示される.
操作パネルと変更閲覧パネルを拡大したものを図5.4に示す.操作パネルの ”His-tory”というラベルのボタンを押すと,フォルダ指定ダイアログのウィンドウが表示 され,フォルダを指定すると指定したフォルダ以下にある編集操作履歴の読み込み が始まる.3つのラジオボタン”Time”,”Spatial”,”No Condition”のうち,”Time”
は時間的集約,”Spatial”は空間的集約,”No Condition”は条件なし(可能な限り 集約)を表しており,これらを選択することでどの集約条件で集約を行うかを選 ぶことができる.”Time”,”Spatial”のそれぞれの右のテキストボックスでは集約 条件のしきい値を設定することができ,それらを設定した上で”Detect”というラ ベルのボタンを押すと,それらの設定で集約した結果が変更閲覧パネルへ反映さ れる.”Time”における集約条件のしきい値では時(”h”),分(”m”),秒(”s”) の単位で設定でき,図では,1分(”1m”)が時間的集約の条件のしきい値として 設定されている.
変更閲覧パネルのリストのそれぞれの行は本手法によって検出された1つのプ ログラム変更を表しており,リストのそれぞれの項目については,”CID”がそのプ ログラム変更の変更ID,”from”が変更開始時刻,”to”が変更終了時刻,”change”
が変更タイプを表している.さらに,先ほど示した操作パネルで,集約条件を設 定してプログラム変更の検出を行うと,変更閲覧パネルのリストの一番右の列に その設定による集約結果が提示される.図では,1分をしきい値とした時間的集約 による集約結果が提示されている.
変更場所パネルと差分パネルを拡大したものを図 5.5に示す.変更場所パネル には,変更対象となっているファイルのプロジェクトのルートからのパスが表示 される.差分パネルでは,そのプログラム変更によって書き換えられるファイル の変更前後の状態が表示され,左のコード(”Source before the change”)が変更 前の状態を表しており,右のコード(”Source after the change”)が変更後の状態 を表している.また差分パネルでは,左右のコードで差分のある箇所が表示され る.図では,変更前の状態のコードに”board = new int[][]{}”が挿入され,変 更後の状態のコードになっていることがわかる.
67