kirancodes.me
To Proof Maintenance & Beyond!

Combinatorial generation of structurally complex test inputs for commercial software applications

Hua Zhong, Lingming Zhang, Sarfraz Khurshid

Abstract

Despite recent progress in automated test generation research, significant challenges remain for applying these techniques on large-scale software systems. These systems under test often require structurally complex test inputs within a large input domain. It is challenging to automatically generate a reasonable number of tests that are both legal and behaviorally-diverse to exercise these systems. Constraint-based test generation is an effective approach for generating structurally complex inputs for systematic testing. While this approach can typically generate large numbers of tests, it has limited scalability – tests generated are usually only up to a small bound on input size. Combinatorial test generation, e.g., pair-wise testing, is a more scalable approach but is challenging to apply on commercial software systems that require complex input structures that cannot be formed by using arbitrary combinations. This paper introduces comKorat, which unifies constraint-based generation of structurally complex tests with combinatorial testing. Specifically, comKorat integrates Korat and ACTS test generators to generate test suites for large scale software systems with structurally complex test inputs. We have successfully applied comKorat on four software applications developed at eBay and Yahoo!. The experimental results show that comKorat outperforms existing solutions in execution time and test coverage. Furthermore, comKorat found a total of 59 previously unknown bugs in the four applications.

BibTeX
@inproceedings{Zhong-al:FSE16,
  author    = {Hua Zhong and
               Lingming Zhang and
               Sarfraz Khurshid},
  title     = {Combinatorial generation of structurally complex test inputs for commercial software applications},
  booktitle = {FSE},
  pages     = {981--986},
  publisher = {{ACM}},
  year      = {2016},
}

Related papers