• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 課題ページに戻る

2021 年度 実施状況報告書

リファクタリングにより破壊されるテストスイート予測技術の開発:自動修正への挑戦

研究課題

研究課題/領域番号 21K17725
研究機関九州大学

研究代表者

柏 祐太郎  九州大学, システム情報科学研究院, 特任助教 (20886650)

研究期間 (年度) 2021-04-01 – 2024-03-31
キーワードテストスイート / リファクタリング
研究実績の概要

本年度では,テストスイート破壊の原因となったリファクタリングを特定する技術を開発した.具体的にはテストメソッドにおけるそれぞれの変更行が,プロダクションコードに施されたリファクタリングのうち,どのリファクタリングによる影響のものかを特定した.
また,8件のオープンソースソフトウェア(OSS)開発プロジェクトから製品開発履歴データを取得し,合計615,196件のテストメソッドを実行することで,リファクタリングによって影響を受けるテストメソッドがどの程度であるかを分析した.具体的には,(1)テストケースを破壊するリファクタリングは何か?(2)テストスイートの修正にどの程度の変更行数が必要か?を明らかにした.(1)では,リビジョン(X-1)のテストコードで,リビジョンX のプロダクトコード(リファクタリング後)をテストし,どの程度のテストメソッド(テストケース)が動作しなくなるか確認した.調査の結果,リファクタリングでは多くのテストメソッドが影響をうけるものの,実際に破壊されるテストメソッドは,全体の2.5%程度であった.
(2)では,リファクタリングにより破壊されたテストコードの修正に必要となった行数を計測した.調査の結果,一部リファクタリング(メソッド引数の追加や返り値の型の変更)では,大きな修正が必要となることがわかった.
なお,これらを纏めた結果をソフトウェアメインテナンスに関するトップカンファレンスであるICSMEにフルペーパーとして投稿し,採択された.

現在までの達成度 (区分)
現在までの達成度 (区分)

1: 当初の計画以上に進展している

理由

当初の予定では,解析方法の確立およびデータ取得を実施する予定であったが,少数のプロジェクトであるが解析結果を得られるところまで進めることができたため.

今後の研究の推進方策

本年度は更に,多くのプロジェクトで解析を進めるとともに,次のステップである破壊されるテストの予測や自動修正に取り組む.

次年度使用額が生じた理由

当初予定していたスイスにおける共同研究を見送ったため.次年度は,スイスに渡航・共同研究を進め,さらなる研究の進展を目指す.

  • 研究成果

    (2件)

すべて 2021 その他

すべて 国際共同研究 (1件) 学会発表 (1件) (うち国際学会 1件)

  • [国際共同研究] Universita della Svizzera italiana(スイス)

    • 国名
      スイス
    • 外国機関名
      Universita della Svizzera italiana
  • [学会発表] Does Refactoring Break Tests and to What Extent?2021

    • 著者名/発表者名
      Yutaro Kashiwa, Kazuki Shimizu, Bin Lin, Gabriele Bavota, Michele Lanza, Yasutaka Kamei, Naoyasu Ubayashi
    • 学会等名
      IEEE International Conference on Software Maintenance and Evolution
    • 国際学会

URL: 

公開日: 2022-12-28  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi