Does Refactoring Break Tests and to What Extent?

Yutaro Kashiwa, Kazuki Shimizu, Bin Lin, Gabriele Bavota, Michele Lanza, Yasutaka Kamei, Naoyasu Ubayashi

研究成果: 書籍/レポート タイプへの寄稿会議への寄与

抄録

Refactoring as a process is aimed at improving the quality of a software system while preserving its external behavior. In practice, refactoring comes in the form of many specific and diverse refactoring operations, which have different scopes and thus a different potential impact on both the production and the test code. We present a large-scale quantitative study complemented by a qualitative analysis involving 615,196 test cases to understand how and to what extent different refactoring operations impact a system's test suites. Our findings show that while the vast majority of refactoring operations do not or very seldom induce test breaks, some specific refactoring types (e.g., 'RENAME Attribute' and 'RENAME Class') have a higher chance of breaking test suites. Meanwhile, 'ADD Parameter' and 'CHANGE Return Type' refactoring operations often require additional lines of changes to fix the test suite they break. While some modern IDEs provide features to automatically apply these two types of refactoring operations, they are not always able to avoid test breaks, thus demanding extra human efforts.

本文言語英語
ホスト出版物のタイトルProceedings - 2021 IEEE International Conference on Software Maintenance and Evolution, ICSME 2021
出版社Institute of Electrical and Electronics Engineers Inc.
ページ171-182
ページ数12
ISBN(電子版)9781665428828
DOI
出版ステータス出版済み - 2021
イベント37th IEEE International Conference on Software Maintenance and Evolution, ICSME 2021 - Luxembourg City, ルクセンブルク
継続期間: 9月 27 202110月 1 2021

出版物シリーズ

名前Proceedings - 2021 IEEE International Conference on Software Maintenance and Evolution, ICSME 2021

会議

会議37th IEEE International Conference on Software Maintenance and Evolution, ICSME 2021
国/地域ルクセンブルク
CityLuxembourg City
Period9/27/2110/1/21

!!!All Science Journal Classification (ASJC) codes

  • ソフトウェア
  • 安全性、リスク、信頼性、品質管理

引用スタイル