Interactive Program Synthesis

Lead Research Organisation: University of Nottingham
Department Name: School of Computer Science

Abstract

Program synthesis is an important field of computer science, with applications ranging from the simple
auto-completion tools that are found in many spreadsheet packages, all the way to fully-fledged systems
that are capable of constructing entire programs on their own.

A program synthesiser is a system to which a user can describe, in some language, a program which
they would like; the aim of the synthesiser is to write such a program. There are then two essential
ways in which synthesis techniques can differ: the language in which the user describes the desired
program, and the method by which the system produces this program.

This project will focus on the synthesis of programs that are written in functional programming
languages, such as Haskell. The purity and composability of these languages makes them well suited
to the problem. Most existing synthesis techniques for functional languages can be placed into one of
three categories: analytical, enumerative, and learning-based approaches.

Publications

10 25 50

Studentship Projects

Project Reference Relationship Related To Start End Student Name
EP/T517902/1 30/09/2020 29/09/2025
2887857 Studentship EP/T517902/1 30/09/2023 30/03/2027 Zachariah Garby
EP/W524402/1 30/09/2022 29/09/2028
2887857 Studentship EP/W524402/1 30/09/2023 30/03/2027 Zachariah Garby