How to Specify It!: A Guide to Writing Properties of Pure Functions
Paper in proceeding, 2020

Property-based testing tools test software against a specification, rather than a set of examples. This tutorial paper presents five generic approaches to writing such specifications (for purely functional code). We discuss the costs, benefits, and bug-finding power of each approach, with reference to a simple example with eight buggy variants. The lessons learned should help the reader to develop effective property-based tests in the future.


John Hughes

Chalmers, Computer Science and Engineering (Chalmers), Functional Programming

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

03029743 (ISSN) 16113349 (eISSN)

Vol. 12053 58-83
978-3-030-47147-7 (ISBN)

20th International Symposium on Trends in Functional Programming, TFP 2019
Vancouver, Canada,

Systematic testing of cyber-physical systems (SyTeC)

Swedish Research Council (VR) (2016-06204), 2017-01-01 -- 2022-12-31.

Areas of Advance

Information and Communication Technology

Subject Categories

Software Engineering

Computer Science

Computer Systems



More information

Latest update

9/2/2020 7