dcreager.net

Krook2023

Robert Krook, Nicholas Smallbone, Bo Joel Svensson, and Koen Claessen. 2023. QuickerCheck: Implementing and Evaluating a Parallel Run-Time for QuickCheck. In The 35th Symposium on Implementation and Application of Functional Languages (IFL 2023), August 29–31, 2023, Braga, Portugal. ACM, New York, NY, USA, 12 pages.

Remarkable PDF

Original PDF

DOI

Abstract

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× 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.

Property-based testing