QuickerCheck: Implementing and Evaluating a Parallel Run-Time for QuickCheck
<|reference_start|>QuickerCheck: Implementing and Evaluating a Parallel Run-Time for QuickCheck: This paper introduces a new parallel run-time for QuickCheck, a Haskell library and EDSL for specifying and randomly testing properties of programs. The new run-time can run multiple tests for a single property in parallel, using the available cores. Moreover, if a counterexample is found, the run-time can also shrink the test case in parallel, implementing a parallel search for a locally minimal counterexample.   Our experimental results show a 3--9$\times$ speed-up for testing QuickCheck properties on a variety of heavy-weight benchmark problems. We also evaluate two different shrinking strategies; deterministic shrinking, which guarantees to produce the same minimal test case as standard sequential shrinking, and greedy shrinking, which does not have this guarantee but still produces a locally minimal test case, and is faster in practice.<|reference_end|>
@article{krook2024quickercheck:,
    title={QuickerCheck: Implementing and Evaluating a Parallel Run-Time for
  QuickCheck},
    author={Robert Krook, Nicholas Smallbone, Bo Joel Svensson, Koen Claessen},
    journal={arXiv preprint arXiv:2404.16062},
    year={2024},
    archivePrefix={arXiv},
    eprint={2404.16062},
    primaryClass={cs.PL}
}