An Empirical Study of the Effect of Time Constraints on the Cost-Benefits of Regression Testing,
H. Do, S. Mirarab, L. Tahvildari, and G. Rothermel,
Proceedings of the ACM SIGSOFT Symposium on Foundations of Software Engineering
November, 2008, pages 71-82.


Regression testing is an expensive process used to validate modified software. Test case prioritization techniques improve the cost-effectiveness of regression testing by ordering test cases such that those that are more important are run earlier in the testing process. Many prioritization techniques have been proposed and evidence shows that they can be beneficial. It has been suggested, however, that the time constraints that can be imposed on regression testing by various software development processes can strongly affect the behavior of prioritization techniques. Therefore, we conducted an experiment to assess the effects of time constraints on the costs and benefits of prioritization techniques. Our results show that time constraints can indeed play a significant role in determining both the cost-effectiveness of prioritization, and the relative cost-benefit tradeoffs among techniques, with important implications for the use of prioritization in practice.