Back home in the Netherlands, I did a bachelor's in Computer Science & Engineering. Looking to go abroad, I came to Oxford for a MSc in Computer Science. I decided I wanted to stay, so have since been working towards a doctorate. Alongside the DPhil, I have been teaching classes at the department, tutorials at colleges and supervising student projects.
My DPhil research is on program synthesis, where the goal is to automate the process of writing programs, at least partially. Normally, a programmer starts by writing their program and then writes tests to check that they ended up with what they intended. In order to harness available computational resources, the idea is to turn this on its head: start by writing your specification, e.g. your tests, and let your computer help you search for a program that is correct. Think of it as a more advanced form of already popular code completion tools, now completing entire functions based on your test cases. Two of program synthesis' fundamental challenges my research is addressing are (1) program correctness and (2) search efficiency. My approach makes pervasive use of logical constraints as they allow for (1) expressing strong requirements on solutions and (2) due to being effective at eliminating non-solutions.
I will be teaching the tutorials on Functional Programming, Design and Analysis of Algorithms, Models of Computation, and Compilers during the 2021-2022 academic year.
Awards and Distinctions
My DPhil is funded by an EPSRC scholarship, an Oxford-DeepMind scholarship and a Google scholarship.
Andrew Cropper, Rolf Morel: Learning programs by learning from failures. Mach. Learn. 110(4): 801-856 (2021) https://arxiv.org/abs/2005.02259
Jan Friso Groote, Rolf Morel, Julien Schmaltz, Adam Watkins: Logic Gates, Circuits, Processors, Compilers and Computers. Springer 2021, ISBN 978-3-030-68552-2, pp. 1-193