Hostname: page-component-89b8bd64d-dvtzq Total loading time: 0 Render date: 2026-05-06T07:35:27.883Z Has data issue: false hasContentIssue false

Quick specifications for the busy programmer

Published online by Cambridge University Press:  10 July 2017

NICHOLAS SMALLBONE
Affiliation:
Chalmers University of Technology, Gothenburg, Sweden (e-mails: nicsma@chalmers.se, moa.johansson@chalmers.se, koen@chalmers.se, algehed@chalmers.se)
MOA JOHANSSON
Affiliation:
Chalmers University of Technology, Gothenburg, Sweden (e-mails: nicsma@chalmers.se, moa.johansson@chalmers.se, koen@chalmers.se, algehed@chalmers.se)
KOEN CLAESSEN
Affiliation:
Chalmers University of Technology, Gothenburg, Sweden (e-mails: nicsma@chalmers.se, moa.johansson@chalmers.se, koen@chalmers.se, algehed@chalmers.se)
MAXIMILIAN ALGEHED
Affiliation:
Chalmers University of Technology, Gothenburg, Sweden (e-mails: nicsma@chalmers.se, moa.johansson@chalmers.se, koen@chalmers.se, algehed@chalmers.se)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

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.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 2017 
Submit a response

Discussions

No Discussions have been published for this article.