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...

Full description

Bibliographic Details
Main Author: Matela Braquehais, Rudy
Other Authors: Runciman, Colin
Published: University of York 2017
Subjects:
004
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