The comKorat Tool: Unified Combinatorial and Constraint-Based Generation of Structurally Complex Tests

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9690)


This tool paper presents comKorat, which unifies constraint-based generation of structurally complex tests with combinatorial testing. 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. The comKorat tool integrates Korat and ACTS test generators to generate test suites for large scale commercial systems. This paper presents a case-study of applying comKorat on a software application developed at Yahoo!. The experimental results show that comKorat outperforms existing solution in execution time and finds a total of 23 previously unknown bugs in the application.


comKorat Basic Constraint Propagation Constraint-based Test Generation Combinatorial Testing Large-scale Commercial Systems 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



Part of this work was completed when the first author worked at Yahoo!. Lingming Zhang was funded in part by UT Dallas start-up fund and Google Faculty Research Award. Sarfraz Khurshid was funded in part by National Science Foundation (Grant No. CCF-0845628).


  1. 1.
    Anand, S., Burke, E.K., Chen, T.Y., Clark, J., Cohen, M.B., Grieskamp, W., Harman, M., Harrold, M.J., Mcminn, P.: An orchestrated survey on automated software test case generation. J. Syst. Softw. 86(8), 1978–2001 (2013)CrossRefGoogle Scholar
  2. 2.
    Boyapati, C., Khurshid, S., Marinov, D.: Korat: automated testing based on java predicates. In: ISSTA, pp. 123–133 (2002)Google Scholar
  3. 3.
    Cohen, D., Dalal, S., Fredman, M.L., Patton, G.: The AETG system: an approach to testing based on combinatorial design. TSE 23(7), 437–444 (1997)Google Scholar
  4. 4.
    Kuhn, R., Kacker, R., Lei, Y., Hunter, J.: Combinatorial software testing. IEEE Comput. 42(8), 94–96 (2009)CrossRefGoogle Scholar
  5. 5.
    Richard Kuhn, D., Okum, V.: Pseudo-exhaustive testing for software. In: SEW (2006)Google Scholar
  6. 6.
    Zhong, H.: Pairwise-Korat: Automated Testing Using Korat in an Industrial Setting. Master’s Report, The University of Texas at Austin, USA (2015)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Department of Electrical and Computer EngineeringThe University of Texas at AustinAustinUSA
  2. 2.Department of Computer ScienceThe University of Texas at DallasRichardsonUSA

Personalised recommendations