Efficient time-aware prioritization with knapsack solvers
empirical study
performance analysis
test-suite prioritization
Proceedings of the International Workshop on Empirical Assessment of Software Engineering Languages and Technologies
Abstract
Regression testing is frequently performed in a time constrained environment. This paper explains how 0/1 knapsack solvers (e.g., greedy, dynamic programming, and the core algorithm) can identify a test suite reordering that rapidly covers the test requirements and always terminates within a specified testing time limit. We conducted experiments that reveal fundamental trade-offs in the (i) time and space costs that are associated with creating a reordered test suite and (ii) quality of the resulting prioritization. We find knapsack-based prioritizers that ignore the overlap in test case coverage incur a low time overhead and a moderate to high space overhead while creating prioritizations exhibiting a minor to modest decrease in effectiveness. We also find that the most sophisticated 0/1 knapsack solvers do not always identify the most effective prioritization, suggesting that overlap-aware prioritizers with a higher time overhead are useful in certain testing contexts.Details
Reference
@inproceedings{Alspaugh2007,
author = {Sara Alspaugh and Kristen R. Walcott and Michael Belanich and
Gregory M. Kapfhammer and Mary Lou Soffa},booktitle = {Proceedings of the International Workshop on Empirical Assessment
of Software Engineering Languages and Technologies},title = {Efficient time-aware prioritization with knapsack solvers},
year = {2007}
}