Tools for discovery, refinement and generalization of functional properties by enumerative testing
This thesis presents techniques for discovery, refinement and generalization of properties about functional programs. These techniques work by reasoning from test results: their results are surprisingly accurate in practice, despite an inherent uncertainty in principle. These techniques are validate...
Main Author: | |
---|---|
Other Authors: | |
Published: |
University of York
2017
|
Subjects: | |
Online Access: | https://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.731590 |
id |
ndltd-bl.uk-oai-ethos.bl.uk-731590 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-bl.uk-oai-ethos.bl.uk-7315902019-03-05T15:29:19ZTools for discovery, refinement and generalization of functional properties by enumerative testingMatela Braquehais, RudyRunciman, Colin2017This thesis presents techniques for discovery, refinement and generalization of properties about functional programs. These techniques work by reasoning from test results: their results are surprisingly accurate in practice, despite an inherent uncertainty in principle. These techniques are validated by corresponding implementations in Haskell and for Haskell programs: Speculate, FitSpec and Extrapolate. Speculate discovers properties given a collection of black-box function signatures. Properties discovered by Speculate include inequalities and conditional equations. These properties can contribute to program understanding, documentation and regression testing. FitSpec guides refinements of properties based on results of black-box mutation testing. These refinements include completion and minimization of property sets. Extrapolate generalizes counterexamples of test properties. Generalized counterexamples include repeated variables and side-conditions and can inform the programmer what characterizes failures. Several example applications demonstrate the effectiveness of Speculate, FitSpec and Extrapolate.004University of Yorkhttps://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.731590http://etheses.whiterose.ac.uk/19178/Electronic Thesis or Dissertation |
collection |
NDLTD |
sources |
NDLTD |
topic |
004 |
spellingShingle |
004 Matela Braquehais, Rudy Tools for discovery, refinement and generalization of functional properties by enumerative testing |
description |
This thesis presents techniques for discovery, refinement and generalization of properties about functional programs. These techniques work by reasoning from test results: their results are surprisingly accurate in practice, despite an inherent uncertainty in principle. These techniques are validated by corresponding implementations in Haskell and for Haskell programs: Speculate, FitSpec and Extrapolate. Speculate discovers properties given a collection of black-box function signatures. Properties discovered by Speculate include inequalities and conditional equations. These properties can contribute to program understanding, documentation and regression testing. FitSpec guides refinements of properties based on results of black-box mutation testing. These refinements include completion and minimization of property sets. Extrapolate generalizes counterexamples of test properties. Generalized counterexamples include repeated variables and side-conditions and can inform the programmer what characterizes failures. Several example applications demonstrate the effectiveness of Speculate, FitSpec and Extrapolate. |
author2 |
Runciman, Colin |
author_facet |
Runciman, Colin Matela Braquehais, Rudy |
author |
Matela Braquehais, Rudy |
author_sort |
Matela Braquehais, Rudy |
title |
Tools for discovery, refinement and generalization of functional properties by enumerative testing |
title_short |
Tools for discovery, refinement and generalization of functional properties by enumerative testing |
title_full |
Tools for discovery, refinement and generalization of functional properties by enumerative testing |
title_fullStr |
Tools for discovery, refinement and generalization of functional properties by enumerative testing |
title_full_unstemmed |
Tools for discovery, refinement and generalization of functional properties by enumerative testing |
title_sort |
tools for discovery, refinement and generalization of functional properties by enumerative testing |
publisher |
University of York |
publishDate |
2017 |
url |
https://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.731590 |
work_keys_str_mv |
AT matelabraquehaisrudy toolsfordiscoveryrefinementandgeneralizationoffunctionalpropertiesbyenumerativetesting |
_version_ |
1718993486667055104 |