SmallCheck and Lazy SmallCheck: Automatic exhaustive testing for small values. This paper describes two Haskell libraries for property-based testing. Following the lead of QuickCheck, these testing libraries SmallCheck and Lazy SmallCheck also use type-based generators to obtain test-sets of finite values for which properties are checked, and report any counter-examples found. But instead of using a sample of randomly generated values they test properties for all values up to some limiting depth, progressively increasing this limit. The paper explains the design and implementation of both libraries and evaluates them in comparison with each other and with QuickCheck.

This software is also peer reviewed by journal TOMS.

References in zbMATH (referenced in 19 articles )

Showing results 1 to 19 of 19.
Sorted by year (citations)

  1. Dylus, Sandra; Christiansen, Jan; Teegen, Finn: Implementing a library for probabilistic programming using non-strict non-determinism (2020)
  2. Paulson, Lawrence C.; Nipkow, Tobias; Wenzel, Makarius: From LCF to Isabelle/HOL (2019)
  3. Dubois, Catherine; Giorgetti, Alain: Tests and proofs for custom data generators (2018)
  4. Ishii, Hiromi: A purely functional computer algebra system embedded in Haskell (2018)
  5. Cheney, James; Momigliano, Alberto: (\alpha\mathrmCheck): a mechanized metatheory model checker (2017)
  6. Dubois, Catherine; Giorgetti, Alain; Genestier, Richard: Tests and proofs for enumerative combinatorics (2016)
  7. Reynolds, Andrew; Blanchette, Jasmin Christian; Cruanes, Simon; Tinelli, Cesare: Model finding for recursive functions in SMT (2016)
  8. Claessen, Koen; Duregård, Jonas; Pałka, Michał H.: Generating constrained random data with uniform distribution (2015)
  9. Tremblay, Hugo; Labelle, Gilbert; Brlek, Srečko; Blondin Massé, Alexandre: Exhaustive generation of atomic combinatorial differential operators (2014)
  10. Bulwahn, Lukas: The new Quickcheck for Isabelle. Random, exhaustive and symbolic testing under one roof (2012)
  11. Hanus, Michael: Improving lazy non-deterministic computations by demand analysis (2012)
  12. Koopman, Pieter; Achten, Peter; Plasmeijer, Rinus: Model based testing with logical properties versus state machines (2012)
  13. Matsuda, Kazutaka; Inaba, Kazuhiro; Nakano, Keisuke: Polynomial-time inverse computation for accumulative functions with multiple data traversals (2012)
  14. Reich, Jason S.; Naylor, Matthew; Runciman, Colin: Lazy generation of canonical test programs (2012) ioport
  15. Riesco, Adrián: Using narrowing to test Maude specifications (2012) ioport
  16. Sonnex, William; Drossopoulou, Sophia; Eisenbach, Susan: Zeno: an automated prover for properties of recursive data structures (2012)
  17. Blanchette, Jasmin Christian; Bulwahn, Lukas; Nipkow, Tobias: Automatic proof and disproof in Isabelle/HOL (2011)
  18. Bulwahn, Lukas: Smart test data generators via logic programming (2011)
  19. Achten, Peter; van Eekelen, Marko; Koopman, Pieter; Morazán, Marco T.: Trends in trends in functional programming 1999/2000 versus 2007/2008 (2010)