2009 International Conference on Software Testing Verification and Validation (2009)
Apr. 1, 2009 to Apr. 4, 2009
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ICST.2009.48
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, Korat systematically explores the bounded input space of the predicate and enumerates inputs that satisfy the constraint. Korat search is largely sequential: it considers one candidate 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 constraints from a variety of subject programs show significant speedups over the traditional Korat search.
J. H. Siddiqui and S. Khurshid, "PKorat: Parallel Generation of Structurally Complex Test Inputs," 2009 International Conference on Software Testing Verification and Validation(ICST), Denver, Colorado, 2009, pp. 250-259.