Title: Smart Regression Testing with T2 (thesis defense)
The T2 testing framework can automatically generate large numbers of tests with minimal programmer effort. These tests can be replayed for regression testing modified software, but this can be expensive and time consuming when test suites are very large. Test selection techniques can reduce these costs by selectively executing only those tests which might behave differently in the modified software. Safe techniques guarantee that all such tests are selected and thus ensure that testing integrity is not compromised. We present a safe test selection technique for T2 based on control flow analysis of compiled Java bytecode and using high precision prime path coverage data. An implementation is given and evaluated through a small empirical study. The results are promising and show that significant time savings are possible with low overhead. We also discuss how we advanced the regression testing capabilities of the T2 framework in some ways, e.g. by automating certain test suite maintenance tasks.