QuickerCheck Implementing and Evaluating a Parallel Run-Time for QuickCheck
Paper i proceeding, 2024

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-9x 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.

parallel functional programming

testing

quickcheck

property-based testing

haskell

Författare

Robert Krook

Chalmers, Data- och informationsteknik, Funktionell programmering

Nicholas Smallbone

Chalmers, Data- och informationsteknik, Funktionell programmering

Joel Svensson

Chalmers, Data- och informationsteknik, Funktionell programmering

Koen Claessen

Chalmers, Data- och informationsteknik, Formella metoder

PROCEEDINGS OF THE 2023 35TH SYMPOSIUM ON IMPLEMENTATION AND APPLICATION OF FUNCTIONAL LANGUAGES, IFL 2023

9
979-8-4007-1631-7 (ISBN)

35th Symposium on Implementation and Application of Functional Languages (IFL)
Braga, Portugal,

Ämneskategorier

Telekommunikation

Programvaruteknik

Datavetenskap (datalogi)

DOI

10.1145/3652561.3652570

Mer information

Senast uppdaterat

2024-08-08