A Regression Test Selection Technique Based on Incremental Dynamic Analysis |
Vladimir Itsykson, Marat Akhin |
Abstract
Regression software testing is one of the ways of increasing software development efficiency. Purpose of regression testing is to check program correctness after its modification. It is done by executing all regression tests, and usually significant time is wasted on executing unnecessary regression tests. Regression test selection may be used to cope with this problem. It reduces the number of regression tests to execute using some selection criteria. Regression test selection technique based on incremental dynamic software analysis is proposed in this work. The technique is based on two main ideas. Abstract syntax tree code differencing is used to identify changed software components. Execution trace analysis extracts dependency information for “test – software component” relation. Using this information we can select a safe subset of regression tests to increase regression testing effectiveness. Regression testing framework prototype for Java program analysis was developed as a part of this work using the proposed technique. Results of conducted experiments confirm the effectiveness of the proposed technique for a specific class of programs. |