My research focuses on bridging formal academic theory and industrial software engineering, specifically through AI-Assistants. My current work involves the development of "Verified" web applications, which use Large Language Models (LLMs) for "correct-by-construction" web applications. I am also the creator of a state-of-the-art open-access platform for online runtime visualisation. This tool animates the internal state of program execution (variable bindings and data structures) to help students build accurate mental models of complex algorithms.
My doctoral work was on methods for test case generation to support model transformation testing. Model transformations are the compilers of model driven engineering, used to convert software models between formalisms. for example they can be used to convert design artefacts to code or design to analysis. Transformations are challenging to validate because the complex input - software models - must be created as testcases and the number of transformations that need to be validated is large, relative to the number of traditional compilers. One of my contributions is an tool for automatically creating model generators from meta models. Novally the tool is self hosting, that is, the implementation can be used to test itself.
I have also conducted research was in the semantic web sphere. I worked on how physical resources can be managed without centralised control in disaster response. This invloved creating a protocol using light-weight ontology-based approach. To evaluate the work, an implementation was created using Drupal to simulate the scenario.
Find out more in my publications and research software I've developed.