The project is no longer available

Generating well-typed programs for property based testing

In unit and integration testing, the programmer is tasked with producing a handful of usage examples, that demonstrate the their code works as expected.  In property based testing, we instead formulate assertions that should in a certain scenario, and then generate input data that for repeating that scenario in an attempt to make the assertion fail.

One of the advantages of property based testing, is that our confidence in the code increases every time we run the test suite (since we keep generating fresh test scenarios). However, to reap the benefits, we must implement a generator for the input data. Naturally, some data is harder to generate, and an ongoing research problem to generate well-typed programs.

The topic of this thesis will be to investigate the problem of generating typeable abstract data tree representations of programs in a subset of some programming language. The student is free to choose a language of interest, but examples involve the typeable variations of JavaScript, as well as the simply typed lambda calculus.

Published Sep. 23, 2024 11:28 AM - Last modified Sep. 23, 2024 11:28 AM

Supervisor(s)

Scope (credits)

60