dc.contributor.author |
Papadakis, M |
en |
dc.contributor.author |
Sagonas, K |
en |
dc.date.accessioned |
2014-03-01T02:52:50Z |
|
dc.date.available |
2014-03-01T02:52:50Z |
|
dc.date.issued |
2011 |
en |
dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/36105 |
|
dc.subject |
erlang |
en |
dc.subject |
function signatures |
en |
dc.subject |
property-based testing |
en |
dc.subject |
test generators |
en |
dc.subject |
type declarations |
en |
dc.subject.other |
erlang |
en |
dc.subject.other |
function signatures |
en |
dc.subject.other |
Property-based testing |
en |
dc.subject.other |
test generators |
en |
dc.subject.other |
type declarations |
en |
dc.subject.other |
Computer programming languages |
en |
dc.subject.other |
Functional programming |
en |
dc.subject.other |
Integration |
en |
dc.subject.other |
Recursive functions |
en |
dc.subject.other |
Specifications |
en |
dc.subject.other |
Integral equations |
en |
dc.title |
A PropEr integration of types and function specifications with property-based testing |
en |
heal.type |
conferenceItem |
en |
heal.identifier.primary |
10.1145/2034654.2034663 |
en |
heal.identifier.secondary |
http://dx.doi.org/10.1145/2034654.2034663 |
en |
heal.publicationDate |
2011 |
en |
heal.abstract |
We present a tight integration of the language of types and function specifications of Erlang with property-based testing. To achieve this integration we have developed from scratch PropEr, an open-source QuickCheck-inspired property-based testing tool. We present technical details of this integration, most notably how the conversion of recursive types into appropriate generators takes place and how function specifications can be turned automatically into simple properties in order to exercise the code of these functions. Finally, we present experiences and advice for the proper use of PropEr. © 2011 ACM. |
en |
heal.journalName |
Erlang'11 - Proceedings of the 2011 ACM SIGPLAN Erlang Workshop |
en |
dc.identifier.doi |
10.1145/2034654.2034663 |
en |
dc.identifier.spage |
39 |
en |
dc.identifier.epage |
50 |
en |