kirancodes.me
To Proof Maintenance & Beyond!

Towards refactoring-aware regression test selection

Kaiyuan Wang, Chenguang Zhu, Ahmet Çelik, Jongwook Kim, Don S. Batory, Milos Gligoric

Abstract

Regression testing checks that recent project changes do not break previously working functionality. Although important, regression testing is costly when changes are frequent. Regression test selection (RTS) optimizes regression testing by running only tests whose results might be affected by a change. Traditionally, RTS collects dependencies (e.g., on files) for each test and skips the tests, at a new project revision, whose dependencies did not change. Existing RTS techniques do not differentiate behavior-preserving transformations (i.e., refactorings) from other code changes. As a result, tests are run more frequently than necessary.

BibTeX
@inproceedings{Wang-al:ICSE18,
  author    = {Kaiyuan Wang and
               Chenguang Zhu and
               Ahmet {\c{C}}elik and
               Jongwook Kim and
               Don S. Batory and
               Milos Gligoric},
  title     = {Towards refactoring-aware regression test selection},
  booktitle = {ICSE},
  pages     = {233--244},
  publisher = {{ACM}},
  year      = {2018},
}

Related papers