Isomorphic Regression Testing: Executing Uncovered Branches Without Test Augmentation.
Jie Zhang,Yiling Lou,Lingming Zhang,Dan Hao,Lu Zhang,Hong Mei
DOI: https://doi.org/10.1145/2950290.2950313
2016-01-01
Abstract:In software testing, it is very hard to achieve high cov-erage with the program under test, leaving many behav-iors unexplored. To alleviate this problem, various auto-mated test generation and augmentation approaches have been proposed, among which symbolic execution and search-based techniques are the most competitive, while each has key challenges to be solved. Different from prior work, we present a new methodology for regression testing Isomor-phic Regression Testing, which explores the behaviors of the program under test by creating its variants (i.e., mod-ified programs) instead of generating tests. In this paper, we make the first implementation of isomorphic regression testing through an approach named ISON, which creates program variants by negating branch conditions. The re-sults show that ISON is able to additionally execute 5.3% to 80.0% branches that are originally uncovered. Further-more, ISON also detects a number of faults not detected by a popular automated test generation tool (i.e., EvoSuite) under the scenario of regression testing.