Test Generation to Expose Changes in Evolving Programs
Software constantly undergoes changes throughout its life cycle, and thereby it evolves. As changes are introduced into a code base, the authors need to make sure that the effect of the changes is thoroughly tested. For this purpose, it is important to generate test cases that can stress the effect of a given change. In this paper, the authors propose an automatic test generation solution to this problem. Given a change c, they use dynamic symbolic execution to generate a test input t, which stresses the change. This is done by ensuring the change c is executed by t, and the effect of c is observable in the output produced by the test t.