MSc by Research - Student projects
|Applications of Glass Networks in Systems Biology||Daniel Kroening||
Glass models are frequently used to model gene regulatory networks. A distinct feature of the Glass model is that its dynamics can be formalized as paths through multi-dimensional binary hypercubes. The goal of this project is to identify instances of Glass networks that are amenable to reasoning by an analysis of the binary codes that correspond to the hypercube paths. Specifically, we aim at exploring algorithmic methods for the synthesis of specific Glass networks based on these codes. This project is suitable both for very applied and for theoretical studies.
|Bug Hunting in Linux||Daniel Kroening||
Model Checkers for concurrent programs have made tremendous progress in the past years. It's time to revisit the Linux Kernel with these methods, and investigate scalability and applicability of automated program analysis in this context. This is an applied project.
|Separation Logic in SMT Solvers||Daniel Kroening||
Reasoning about the heap is one of the biggest challenges in program analysis. The goal of this project is to evaluate ways of combining Satisfiability Modulo Theories with a decision procedure for a fragment of Separation Logic.
|Convolution neural networks for microcontrollers and constrained hardware||Alex Rogers||Convolution neural networks have made dramatic advances in recent years on many image and vision processing tasks. While training such networks is computationally expensive (typically requiring very large image datasets and exploiting GPU acceleration), they can often be deployed on much simpler hardware if simplifications such as integer or even binary weights are imposed on the network. This project will explore the deployment of trained convolution networks on microcontrollers (and possibly also FPGA-based hardware) with the intention of demonstrating useful image processing (perhaps recognising the presence of a face in the field of view of a low pixel camera) on low-power devices. Prerequisites: Machine Learning & Computer Architecture useful but not essential.|