DiffGen: Automated Unit Test Generation for Regression Testing

Kunal Taneja,Tao Xie
2007-01-01
Abstract:Software systems continue to evolve throughout their lifetime. Maintenance of such evolving systems (that include regression testing) is one of the most expensive activities in software development. We present an approach called DiffGen for automated unit-test generation and checking for regression testing of Java programs. Given two versions of a Java class, our approach instruments the code by adding new branches such that if these branches can be covered by a test generation tool, behavioral differences between the two classes are exposed. DiffGen then uses a coverage-based test generation tool to generate test inputs for covering the added branches to expose behavioral differences. We have evaluated DiffGen on finding behavioral differences between 8 data-structure subjects and their versions synthesized through mutation testing and 13 larger subjects and their versions from the Subject Infrastructure Repository. Experimental results show that our approach can effectively expose many behavioral differences that cannot be exposed by state-of-the-art techniques.
What problem does this paper attempt to address?