Logically, the test database must be reset after each test run is recorded (Figure 1a) and executed (Figure 1b). This way, it is guaranteed that all failures during the playback phase are due to updates of the application layer (possibly, bugs). However, resetting the database is a time consuming process: it takes about two minutes to reset a 100MB database [7]. Therefore, HTTrace is equipped with a set of control strategies to minimize the number of database resets during testing. The basic idea is to apply database resets lazily. During each regression test, it learns which test runs are possibly hurting (conflicting) with each others. As a result, in subsequent regression tests, HTTrace reorders the possibly conflicting test runs in order to reduce the number of database resets. If the number of database resets can be reduced, obviously the regression test time can be reduced, too.