A Safe, Efficient Algorithm for Regression Test Selection
International Conference on Software Maintenance
pp. 358-367, September 1993
Gregg Rothermel and Mary Jean Harrold
Regression testing is a necessary but costly maintenance activity aimed
at demonstrating that code has not been adversely affected by
changes. A selective approach to regression testing selects tests
for a modified program from an existing test
suite. We present a new technique for selective regression testing.
Our algorithm constructs control dependence graphs for program versions, and
uses these graphs to determine which tests from the existing
test suite may exhibit changed behavior on the new version.
Unlike most previous techniques for selective retest, our algorithm selects
every test from the original test suite that might expose
errors in the modified program, and does this without prior
knowledge of program modifications.
Our algorithm handles all language
constructs and program modifications, and is easily automated.