PKorat: Parallel generation of structurally complex test inputs

J. H. Siddiqui and S. Khurshid
IEEE International Conference on Software Testing Veriﬁcation and Validation (ICST 2009)


Constraint solving lies at the heart of several specification-based approaches to automated testing. Korat is a previously developed algorithm for solving constraints in Java programs. Given a Java predicate that represents the desired constraints and a bound on the input size, Ko- rat systematically explores the bounded input space of the predicate and enumerates inputs that satisfy the constraint. Korat search is largely sequential: it considers one candi- date input in each iteration and it prunes the search space based on the candidates considered. This paper presents PKorat, a new parallel algorithm that parallelizes the Korat search. PKorat explores the same state space as Korat but considers several candidates in each iteration. These candidates are distributed among parallel workers resulting in an efficient parallel version of Korat. Experimental results using complex structural con- straints from a variety of subject programs show significant speedups over the traditional Korat search.
(ICST 2009), Denver, CO, April 2009. (Acceptance rate: 33%)


@inproceedings { icst2009,
author = { }, }