2021 Fiscal Year Research-status Report
リファクタリングにより破壊されるテストスイート予測技術の開発:自動修正への挑戦
Project/Area Number |
21K17725
|
Research Institution | Kyushu University |
Principal Investigator |
柏 祐太郎 九州大学, システム情報科学研究院, 特任助教 (20886650)
|
Project Period (FY) |
2021-04-01 – 2024-03-31
|
Keywords | テストスイート / リファクタリング |
Outline of Annual Research Achievements |
本年度では,テストスイート破壊の原因となったリファクタリングを特定する技術を開発した.具体的にはテストメソッドにおけるそれぞれの変更行が,プロダクションコードに施されたリファクタリングのうち,どのリファクタリングによる影響のものかを特定した. また,8件のオープンソースソフトウェア(OSS)開発プロジェクトから製品開発履歴データを取得し,合計615,196件のテストメソッドを実行することで,リファクタリングによって影響を受けるテストメソッドがどの程度であるかを分析した.具体的には,(1)テストケースを破壊するリファクタリングは何か?(2)テストスイートの修正にどの程度の変更行数が必要か?を明らかにした.(1)では,リビジョン(X-1)のテストコードで,リビジョンX のプロダクトコード(リファクタリング後)をテストし,どの程度のテストメソッド(テストケース)が動作しなくなるか確認した.調査の結果,リファクタリングでは多くのテストメソッドが影響をうけるものの,実際に破壊されるテストメソッドは,全体の2.5%程度であった. (2)では,リファクタリングにより破壊されたテストコードの修正に必要となった行数を計測した.調査の結果,一部リファクタリング(メソッド引数の追加や返り値の型の変更)では,大きな修正が必要となることがわかった. なお,これらを纏めた結果をソフトウェアメインテナンスに関するトップカンファレンスであるICSMEにフルペーパーとして投稿し,採択された.
|
Current Status of Research Progress |
Current Status of Research Progress
1: Research has progressed more than it was originally planned.
Reason
当初の予定では,解析方法の確立およびデータ取得を実施する予定であったが,少数のプロジェクトであるが解析結果を得られるところまで進めることができたため.
|
Strategy for Future Research Activity |
本年度は更に,多くのプロジェクトで解析を進めるとともに,次のステップである破壊されるテストの予測や自動修正に取り組む.
|
Causes of Carryover |
当初予定していたスイスにおける共同研究を見送ったため.次年度は,スイスに渡航・共同研究を進め,さらなる研究の進展を目指す.
|
Research Products
(2 results)