Context-aware Regression Testing Techniques and Empirical Evaluations of Their Economic Impact

Project Description

Successful software systems evolve: they are enhanced, corrected, and ported to new platforms. To ensure the quality of modified systems, software engineers perform regression testing, but this can be expensive depending on the size of the systems and their complexity and it is responsible for a significant percentage of the costs of software. For example, for one of its primary products, one prominent software company has a regression test suite with over 30,000 functional test cases that require over 1000 machine hours to execute. Hundreds of hours of engineer time are needed to oversee this regression testing process, monitor testing results, and maintain the testing resources.

For reasons such as this, researchers have spent a great deal of time creating and empirically studying various techniques for improving the cost-effectiveness of regression testing. Despite the progress this research has achieved to date, three important aspects of the regression testing problem have not been considered: (1) factors involving the context in which testing occurs; (2) assessment of regression techniques across entire system lifetimes; (3) proper economic models that capture important cost factors and quantify benefits of regression testing techniques ands strategies. This project addresses these issues by performing the following activities: (1) creating cost-effective regression testing techniques that address the testing process and domain contexts, (2) creating regression testing strategies that address system lifetimes, (3) creating economic models that enable the adequate assessment of techniques and strategies, and (4) evaluating and refining these techniques and strategies through rigorous empirical approaches. This work will lay a foundation for evaluating the cost-effectiveness of various regression testing techniques and strategies in practical ways. Further, the discoveries made by this work will promote software dependability, with potential benefits to all organizations and persons who depend on that software.

  • PI: Hyunsook Do
  • Graduate Researchers: Ravi Eda and Maral Azizi