Proceedings of the First ACM SIGPLAN Symposium on Haskell 2008
DOI: 10.1145/1411286.1411292
|View full text |Cite
|
Sign up to set email alerts
|

Smallcheck and lazy smallcheck

Abstract: This paper describes two Haskell libraries for property-based testing. Following the lead of QuickCheck (Claessen and Hughes 2000), 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 desig… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
38
0

Year Published

2012
2012
2021
2021

Publication Types

Select...
6
2
1

Relationship

0
9

Authors

Journals

citations
Cited by 133 publications
(38 citation statements)
references
References 13 publications
0
38
0
Order By: Relevance
“…In order to shrink a counterexample, a PBT tool searches for smaller failing counterexamples. The search method can be specified individually for different data types [15,24,29].…”
Section: Overviewmentioning
confidence: 99%
“…In order to shrink a counterexample, a PBT tool searches for smaller failing counterexamples. The search method can be specified individually for different data types [15,24,29].…”
Section: Overviewmentioning
confidence: 99%
“…A more generic approach is type-targeted testing [26], wherein types are converted into queries to SMT solvers whose answers provide counterexamples. SmallCheck and Lazy SmallCheck [25] are two Haskell libraries for propertybased testing, allowing an automatic exhaustive testing for small values. In Coq, as far as we know, there is no equivalent to the Haskell library SmallCheck.…”
Section: Related Workmentioning
confidence: 99%
“…This approach is implemented, for example, in the Smallcheck system for Haskell [RNL08] and also in the Korat system for Java [BKM02]. The idea here is that counterexamples are usually small and that the exhaustive tests give some guarantees, at least for finite structures like functions over finite domains.…”
Section: Related Workmentioning
confidence: 99%