Skip to Main Content
A formal approach to automatically building a regression test suite whose tests are guaranteed to exercise a given set of system changes is proposed. Given a test and a change, the approach analyzes the test description to provably predict whether or not the test will exercise the change. Adaptive tests whose descriptions involve multiple control paths and support values over commonly used data types are considered. We introduce fully-observable adaptive tests whose descriptions contain all the relevant information about their executions. A structural invariant generated from a test description identifies fully-observable tests and is used to develop a procedure to automatically select tests exercising changes.