pun: Fun with Properties; Towards a Programming Language With Built-in Facilities for Program Validation

09/09/2023
by   Triera Gashi, et al.
0

Property-based testing is a powerful method to validate program correctness. It is, however, not widely use in industry as the barrier of entry can be very high. One of the hindrances is to write the generators that are needed to generate randomised input data. Program properties often take complicated data structures as inputs and, it requires a significant amount of effort to write generators for such structures in a invariant preserving way. In this paper, we suggest and formalise a new programming language ; a simple functional programming with properties as a built-in mechanism for program validation. We show how to generate input for properties automatically, thus, providing the programmer with a low barrier of entry for using property-based testing. We evaluate our work a on library for binary search trees and compare the test results to a similar library in Haskell.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/03/2021

Towards Substructural Property-Based Testing

We propose to extend property-based testing to substructural logics to o...
research
10/23/2018

Programming Without Refining

To derive a program for a given specification R means to find an artifac...
research
05/23/2022

Automatic Generation of Programming Exercises

Massive training of developers following the growing demands of the info...
research
08/26/2022

Automatic Synthesis of Random Generators for Numerically Constrained Algebraic Recursive Types

In program verification, constraint-based random testing is a powerful t...
research
07/10/2023

Can Large Language Models Write Good Property-Based Tests?

Property-based testing (PBT), while an established technique in the soft...
research
08/05/2020

An Evolver program for weighted Steiner trees

We present an algorithm to find near-optimal weighted Steiner minimal tr...
research
04/06/2023

Covering All the Bases: Type-Based Verification of Test Input Generators

Test input generators are an important part of property-based testing (P...

Please sign up or login with your details

Forgot password? Click here to reset