@ARTICLE{Hanus16PRELOPSTR,
author       = {Hanus, M.},
title        = {CurryCheck: Checking Properties of Curry Programs},
year         = {2016},
booktitle    = {Pre-Proceedings of the 26th International Symposium on Logic-Based
                Program Synthesis and Transformation (LOPSTR 2016)},
journal      = {CoRR},
volume       = {abs/1608.05617},
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 are also useful to document
the intended semantics of the source code.  Furthermore, CurryCheck
also supports the automated checking of specifications and contracts
occurring in source programs.  Hence, CurryCheck is a useful tool that
contributes to the property- and specification-based development of
reliable and well tested declarative programs.
}
}

