Quick Specifications for the Busy Programmer
Journal article, 2017

QuickSpec is a theory exploration system which tests a Haskell program to find equational properties of it, automatically. The equations can be used to help understand the program, or as lemmas to help prove the program correct. QuickSpec is largely automatic: the user just supplies the functions to be tested and QuickCheck data generators. Previous theory exploration systems, including earlier versions of QuickSpec itself, scaled poorly. This paper describes a new architecture for theory exploration with which we can find vastly more complex laws than before, and much faster. We demonstrate theory exploration in QuickSpec on problems both from functional programming and mathematics.


Nicholas Smallbone

Software Technology (Chalmers)

Moa Johansson

Software Technology (Chalmers)

Koen Lindström Claessen

Software Technology (Chalmers)

Maximilian Algehed

Chalmers, Computer Science and Engineering (Chalmers)

Journal of Functional Programming

0956-7968 (ISSN) 1469-7653 (eISSN)

Vol. 27 e18

Areas of Advance

Information and Communication Technology

Subject Categories

Computer and Information Science



More information

Latest update

4/5/2022 6