PrologCheck - property-based testing in Prolog

PrologCheck is an automatic tool for property-based testing of Prolog programs with randomised test data generation inspired by QuickCheck.

PrologCheck expressiveness stems from describing properties as Prolog goals. It enables the definition of custom test data generators for random testing.

Further, it allows the use of a predicate specification language that supports types, modes and constraints on the number of successful computations.


You can download a Beta version of the tool here.

prologcheck beta 20130919 (tar.gz)


We are compiling examples of PrologCheck (PC) usage and documentation to help the Prolog programmer to get started with testing their programs.

Here we have a collection of list related predicates and PC properties specifying some of their features

listsTest (tar.gz)

An example of black-box testing of an implementation of AVL trees

avlTest (tar.gz) code to come
avlReport (pdf)

This work was presented at FLOPS 2014. You can find the paper in

FLOPS paper (pdf)