Failing faster: overlapping patterns for property-based testing

In property-based testing, a key problem is generating input data that satisfies the precondition of a property. One approach is to attempt to do so automatically, from the definition of the precondition itself. This idea has been realised using the technique of needed narrowing, as in the Lazy Smal...

Full description

Bibliographic Details
Main Authors: Fowler, Jonathan, Hutton, Graham
Format: Conference or Workshop Item
Published: 2016
Online Access:https://eprints.nottingham.ac.uk/38676/
_version_ 1848795665877958656
author Fowler, Jonathan
Hutton, Graham
author_facet Fowler, Jonathan
Hutton, Graham
author_sort Fowler, Jonathan
building Nottingham Research Data Repository
collection Online Access
description In property-based testing, a key problem is generating input data that satisfies the precondition of a property. One approach is to attempt to do so automatically, from the definition of the precondition itself. This idea has been realised using the technique of needed narrowing, as in the Lazy SmallCheck system, however in practice this method often leads to excessive backtracking resulting in poor efficiency. To reduce the amount of backtracking, we develop an extension to needed narrowing that allows preconditions to fail faster based on the use of overlapping patterns. We formalise our extension, show how it can be implemented, and demonstrate that it improves efficiency in many cases.
first_indexed 2025-11-14T19:35:42Z
format Conference or Workshop Item
id nottingham-38676
institution University of Nottingham Malaysia Campus
institution_category Local University
last_indexed 2025-11-14T19:35:42Z
publishDate 2016
recordtype eprints
repository_type Digital Repository
spelling nottingham-386762020-05-04T18:15:58Z https://eprints.nottingham.ac.uk/38676/ Failing faster: overlapping patterns for property-based testing Fowler, Jonathan Hutton, Graham In property-based testing, a key problem is generating input data that satisfies the precondition of a property. One approach is to attempt to do so automatically, from the definition of the precondition itself. This idea has been realised using the technique of needed narrowing, as in the Lazy SmallCheck system, however in practice this method often leads to excessive backtracking resulting in poor efficiency. To reduce the amount of backtracking, we develop an extension to needed narrowing that allows preconditions to fail faster based on the use of overlapping patterns. We formalise our extension, show how it can be implemented, and demonstrate that it improves efficiency in many cases. 2016-10-23 Conference or Workshop Item PeerReviewed Fowler, Jonathan and Hutton, Graham (2016) Failing faster: overlapping patterns for property-based testing. In: Proceedings of the 19th International Symposium on Practical Aspects of Declarative Languages, 18-20 Jan 2017, Paris, France. (In Press)
spellingShingle Fowler, Jonathan
Hutton, Graham
Failing faster: overlapping patterns for property-based testing
title Failing faster: overlapping patterns for property-based testing
title_full Failing faster: overlapping patterns for property-based testing
title_fullStr Failing faster: overlapping patterns for property-based testing
title_full_unstemmed Failing faster: overlapping patterns for property-based testing
title_short Failing faster: overlapping patterns for property-based testing
title_sort failing faster: overlapping patterns for property-based testing
url https://eprints.nottingham.ac.uk/38676/