2017
DOI: 10.1007/978-3-319-63139-4_13
|View full text |Cite
|
Sign up to set email alerts
|

CurryCheck: Checking Properties of Curry Programs

Abstract: Abstract. We present CurryCheck, a tool to automate the testing of programs written in the functional logic programming language Curry. CurryCheck executes unit tests as well as property tests which are parameterized over one or more arguments. In the latter case, CurryCheck tests these properties by systematically enumerating test cases so that, for smaller finite domains, CurryCheck can actually prove properties. Unit tests and properties can be defined in a Curry module without being exported. Thus, they ar… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
8
0

Year Published

2018
2018
2020
2020

Publication Types

Select...
5

Relationship

2
3

Authors

Journals

citations
Cited by 9 publications
(8 citation statements)
references
References 36 publications
(66 reference statements)
0
8
0
Order By: Relevance
“…Other directly related systems are EasyCheck [2] and CurryCheck [9] for the Curry language. In these systems test cases are generated from the (strong) types present in the language, as in QuickCheck.…”
Section: : -mentioning
confidence: 99%
“…Other directly related systems are EasyCheck [2] and CurryCheck [9] for the Curry language. In these systems test cases are generated from the (strong) types present in the language, as in QuickCheck.…”
Section: : -mentioning
confidence: 99%
“…However, CurryCheck generates only total values for input parameters of properties. Instead of defining specific generators for partial values (note that Cur-ryCheck also supports the definition of user-defined generators for input parameters, as described in [21]), we exploit the already available partial data type P -AB. This type contains an explicit representation of an undefined element but, due to typing reasons, P -AB values cannot be used as inputs to f and g. However, we can map these values into the desired AB values: Such instances are generated for all partial data types involved in properties.…”
Section: Generating Partial Valuesmentioning
confidence: 99%
“…This motivates the use of property testing tools which automate the checking of properties by random or systematic generation of test inputs. Property-based testing has been introduced with the QuickCheck tool [12] for the functional language Haskell and adapted to other languages, like PrologCheck [1] for Prolog, PropEr [33] for the concurrent functional language Erlang, and Easy-Check [10] and CurryCheck [21] for the functional logic language Curry. If the test data is generated in a systematic (and not random) manner, like in SmallCheck [37], GAST [27], EasyCheck [10], or CurryCheck [21], these tools can actually verify properties for finite input domains.…”
Section: Property-based Checkingmentioning
confidence: 99%
See 2 more Smart Citations