Applying Aggressive Propagation-based Strategies for Testing Changes


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 than possible before, our propagation-based strategies 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.

Related research categories:
(1) Regression Testing
(2) Test-suite augmentation
(3) Empirical Studies
(4) Control Dependence
(5) Data Dependence
(6) Monitoring
(7) Program Differencing

Go To Publications