vix.ing · top · new · best · stats · spec

CurryCheck: Checking Properties of Curry Programs

2016/08/19 by Michael Hanus, Hanus, Michael
Computer Science · #FOS: Computer and information sciences #Formal Methods in Verification #Logic in Computer Science (cs.LO) #Logic, programming, and type systems #Programming Languages (cs.PL) #Software Testing and Debugging Techniques

paper · pdf · doi:10.48550/arxiv.1608.05617

openalex publication_date 2016/08/19 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

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.

Related