Can automated test case generation cope with extract method validation?

Indy P. S. C. Silva,Everton L. G. Alves,Patrícia D. L. Machado
DOI: https://doi.org/10.1145/3266237.3266274
2018-01-01
Abstract:Refactoring often requires regression testing to check whether changes applied to the code have preserved its behavior. It is usually tricky to create an effective test suite for this task, since refactoring is not often applied in isolated steps. Rather refactoring edits may be combined with other edits in the code. In this sense, test case generation can contributed to this task by systematically analyzing the code and providing a wide range of test cases that address different constructions in the code. However, a number of studies in the literature have found that current tools can be ineffective regarding fault detection. In this paper, we present an empirical study that applies the Randoop and Evosuite tools for generating regression test suites, focusing on detecting Extract Method faults. Based on the study results, we identify factors that may influence on the performance of the tools for effectively testing the edits. To validate our findings, we present a set of regression models that associate the presence of these factors with the capability of the test suite detect faults related to the refactoring edit.
What problem does this paper attempt to address?