Applying Aggressive Propagation-based Strategies for Testing Changes
Abstract
Test-suite augmentation for evolving software—
the process of augmenting a test suite to adequately test
software changes—is necessary for any program that undergoes
modifications as part of its development and maintenance
cycles. Recently, we presented a new technique for test-suite
augmentation based on leveraging the propagation conditions
for the effects of changes. Although empirical studies show that
this technique can be quite effective for testing changes, the
experiments have been limited because of the complexity of
the implementation. In this paper, we present a new and more
efficient approach for propagation-based testing of changes that
can reach much longer propagation-distances and can focus the
testing more precisely on those behaviors of changes that can
actually affect the output. Using an implementation of this new
approach, we performed a study on a set of changes on Java
programs for which we compared, to a much larger extent,
our propagation-based strategy with other existing techniques
for testing changes. The results of the study not only confirm
the superior effectiveness of propagation-based strategies over
these other techniques for testing changes, but also quantify
that superiority and clarify the conditions under which our
approach is most effective.
Collections
- CERCS Technical Reports [193]