17
発表論文 タイトル – 「要求変更によるソースコードへの インパクトを分析するシステムの開発と評価」 著者 海谷治彦、長田晃、原賢一郎、海尻賢二 出典 電子情報通信学会論文誌. D, 情報・システム J93-D(10), 1822-1835, 2010-10-01 0

2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価

  • Upload
    n-yuki

  • View
    468

  • Download
    7

Embed Size (px)

Citation preview

Page 1: 2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価

発表論文

• タイトル

– 「要求変更によるソースコードへの

インパクトを分析するシステムの開発と評価」

• 著者

–海谷治彦、長田晃、原賢一郎、海尻賢二

• 出典

–電子情報通信学会論文誌. D, 情報・システムJ93-D(10), 1822-1835, 2010-10-01

0

Page 2: 2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価

概要

• 目的:要求変更によるソースコードへの

インパクトを特定するため

• 手法:インパクト分析の支援ツールを作成

• 結果:実際にインパクトを受ける関数を

特定できた

1

Page 3: 2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価

背景1

ソフトウェア開発の大部分は、

既存ソフトウェアの修正

動作実績があるソフトウェアの修正は、

リスクが伴う

インパクト分析(修正箇所の特定)が不可欠

2

Page 4: 2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価

背景2

• 開発関係の書類は、日本語で記述

• 設計書に関しては、「要求仕様書で利用される用語」と「ソースコードの識別子」が混同

• 書類・ソースコードを追跡し、変更予測するのが一般的

• 「文書・ソースコードの追跡」

• 「変更の可能性がある箇所の検索」

を自動化したい 3

Page 5: 2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価

• プロセス0

→インパクトがあると想定される期待関数を選択

• プロセス1

→変更要求のキーワードをもとに、

設計書を検索するためのSDKを構成

• プロセス2

→設計書にSDKを適応し、ドキュメントの一部を出力

• プロセス3

→ソースコード中に現れる可能性が高い

関数名・変数名を抽出し、SCKを構成

• プロセス4

→ソースコードにSCKを適応し、候補関数を抽出

• プロセス5

→期待関数が候補関数に包含されているか確認、

包含されていなかったらやり直し 4

インパクト分析の作業手順

Page 6: 2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価

SDKとSCKの形式例

• SDK

キーワード1 MIN 4 AND キーワード2

–キーワード1が4回以上出てきて、

かつキーワード2が1回以上出てくる部分

• SCK

{語1,語2 ,語3 …} MIN 閾値

–含まれている、語1,語2,語3…の合計が閾値以上になる関数

5

Page 7: 2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価

支援ツール1(期待関数の設定)

6

1.ソースコードを指定

2.クリック

3.関数一覧が表示

4.インパクトがあると期待される関数を選択

Page 8: 2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価

支援ツール2( SCKの導出)

7

1.設計書を指定

2.SDKを指定

3.クリック

4.検索された節が表示

5.クリック

6.SCKが表示

Page 9: 2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価

支援ツール3(候補関数の検索)

8

1.閾値を指定

0.SCKが表示

2.候補関数が表示

• ヒット期待関数数:期待関数数

• 期待ヒット数:期待関数∩候補関数

• 再現率:擬似再現率

• 適合率:擬似適合率

• 総関数数:存在する全関数

• ヒット関数数:全関数∩候補関数

• 候補率:全関数に対する候補関数

の割合

Page 10: 2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価

評価

• 実験1

–期待関数(3個)を与え、擬似再現率・擬似適合率を参照しながら実験を行わせる

–正解関数(13個)を使った真再現率・真適合率と比較

• 実験2

– SDKのキーワードの数を変化させ、結果を評価

• 実験3

– SCKの閾値を変化させ、結果を評価

9

Page 11: 2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価

実験1

• 最終的に、

– 再現率:0.76

8割正解(10/13)

– 適合率:0.16

50個はごみ(10/61)

– 候補率:0.19

変更箇所を、全関数

の2割まで絞った

– レビュー時間

60%(40%短縮)10

Page 12: 2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価

• 熟練開発者が、

8個のキーワードを選択(閾値は5)

• 8個のキーワードに優先度をつける

– 優先度順で実験

– 逆順で実験

• 優先度順の方が、再現率が高い

• キーワードの重要性がわかれば

なおよい

実験2

11

優先度順

逆順

Page 13: 2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価

実験3

• 閾値:0~116で実験

(SDKは常に8個)

• 閾値が上がれば、

– 再現率は下がる

– 適合率は上がる

• 擬似再現率を1に

する範囲で閾値を設定

12

Page 14: 2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価

まとめ

既存システムを変更してシステム開発を行う

場合、インパクト分析が重要

インパクト分析支援ツールを作成・評価

インパクトを受ける関数を特定できた

13

Page 15: 2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価

私見

• 長所

–実際の開発現場の状況を説明した後に、

アプローチや評価実験の説明をしていて、

研究のイメージがつかみやすい

• 短所

–評価実験は一人の被験者にだけやらせるのではなく、複数人で行い結果を比較すべき

14

Page 16: 2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価

附録1:仕様書の様式の実情

15

Page 17: 2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価

附録2:変更予測・変更手順の実情

16