2014
DOI: 10.1007/978-3-319-07151-0_1
|View full text |Cite
|
Sign up to set email alerts
|

PrologCheck – Property-Based Testing in Prolog

Abstract: We present PrologCheck, an automatic tool for propertybased testing of programs in the logic programming language Prolog with randomised test data generation. The tool is inspired by the well known QuickCheck, originally designed for the functional programming language Haskell. It includes features that deal with specific characteristics of Prolog such as its relational nature (as opposed to Haskell) and the absence of a strong type discipline. PrologCheck expressiveness stems from describing properties as Pro… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
30
0

Year Published

2017
2017
2020
2020

Publication Types

Select...
6
1

Relationship

0
7

Authors

Journals

citations
Cited by 15 publications
(30 citation statements)
references
References 19 publications
0
30
0
Order By: Relevance
“…Example 2. The following example shows the definition of a non-deterministic list insertion operation in Curry: Thus, perm [1,2,3,4] non-deterministically evaluates to all 24 permutations of the input list.…”
Section: Functional Logic Programming and Currymentioning
confidence: 99%
See 3 more Smart Citations
“…Example 2. The following example shows the definition of a non-deterministic list insertion operation in Curry: Thus, perm [1,2,3,4] non-deterministically evaluates to all 24 permutations of the input list.…”
Section: Functional Logic Programming and Currymentioning
confidence: 99%
“…For instance, suppose we want to compute the minimum of a list by returning the head element of the sorted list: Then head (sort [3,2,1]) returns 1, as expected, but head (sort' [3,2,1]) returns 1 as well as 2. The latter unintended value is obtained by computing the permutation [2,3,1] so that head (idSorted [2,3,1]) returns 2, since the call to idSorted [3,1] is not evaluated due to non-strictness.…”
Section: Functional Logic Programming and Currymentioning
confidence: 99%
See 2 more Smart Citations
“…Both issues are tricky, linked as they are to the well known problem of the quality of test coverage. There are at least two versions of QuickCheck for Prolog, see https://github.com/mndrix/quickcheck and (Amaral et al 2014). Both essentially implement the NAF approach and struggle with types.…”
Section: Testing Model Checking and Mechanized Metatheorymentioning
confidence: 99%