Propositional Dynamic Logic (PDL) [1] is a logic in which abstract properties about the behaviour of programs can be expressed, in a very general way. Because of its generality it is suitable for checking the behaviour or a wide range of programs and systems, via model checking. PDL is what is known as a modal … full description “A Cyclic Prover for Propositional Dynamic Logic (available)”
Project List
A Debugging User Study: Validating Debugging Research Findings (available)
Project Description: Understanding and fixing software faults is a challenging task for developers [1]. To address this challenge, researchers have designed several debuggers. For instance, automated fault localisation (AFL) techniques (e.g., Ochiai [1]) and automated program repair (APR) tools (e.g., GenProg[2]) are designed to support developers during software debugging tasks. In addition, researchers have gathered … full description “A Debugging User Study: Validating Debugging Research Findings (available)”
A tool for annotating materials with the ontology terms4FAIRskills (available)
term4FAIRskills is an ontology to describe the necessary skills to make data FAIR and keep FAIR. FAIR itself is a set of principles for ensuring that data is shared in as efficient and effective a manner as possible. In the field of Data Science there are colloquial estimates that perhaps 80% of the time spent … full description “A tool for annotating materials with the ontology terms4FAIRskills (available)”
A tool for testing global accessibility of open data resources (available)
Research depends on data that is openly available. Recently, it has become clear that access to repositories that store these data sets is variable across the country that accesses the data. This can be due to poor connectivity for Lower income countries to countries that are actively blocked from accessing specific sites. A set of … full description “A tool for testing global accessibility of open data resources (available)”
A Web interface to the ART software language engineering toolkit (available)
ART is a software tool developed with the Centre for Software Language Engineering which addresses a spectrum of modern programming language technologies, including generalised parsing, attribute grammar evaluation and executable formal semantics specifications. ART is used extensively in our course CS3480 Software Language Engineering and will shortly be released for general use. We would like to … full description “A Web interface to the ART software language engineering toolkit (available)”
Analyzing the Evolution of Fairness properties in ML-based Code repositories (available)
Project Description: Machine Learning (ML) systems are vital components of everyday products and services in our society. ML models have been popularly employed in law enforcement (e.g., COMPASS), legal use cases (e.g., LegalBERT), and programming language tasks (e.g., CodeBERT, Github Copilot, etc.). Despite the criticality of these use cases, ML systems are often biased towards … full description “Analyzing the Evolution of Fairness properties in ML-based Code repositories (available)”
Are we alone? Discovering Earth-like exoplanets with Conformal Prediction (available)
Billions of exoplanets are orbiting around their stars outside our solar system [1]. But are they similar enough to our Earth so that life may have developed there? Often you can answer this question if you know the planet’s mass, radius, and orbiting period. Given the astronomic distances between us and the planets, however, you … full description “Are we alone? Discovering Earth-like exoplanets with Conformal Prediction (available)”
Attacking Large Pre-trained Programming Language Models (PLMs) via Backdoors (available)
Project Description: Backdoors refer to a class of Machine Learning (ML) attacks where an adversary trains an ML model to intentionally misclassify any input to a specific label [1]. This is typically achieved by poisoning the training data, such that inputs are misclassified to a target label when the backdoor trigger is present. For instance, … full description “Attacking Large Pre-trained Programming Language Models (PLMs) via Backdoors (available)”
Automated Debugging of Invalid Inputs generated by Fuzzers (available)
Project Description: Fuzzing is a popular testing method used to ensure the reliability, security and correctness of software systems. These tools allow developers to find bugs and vulnerabilities in software systems automatically. For instance, AFL is a popular fuzzer that has exposed thousands of bugs in open-source software provided by Google, Amazon and Firefox [1]. … full description “Automated Debugging of Invalid Inputs generated by Fuzzers (available)”
Automated verification of Rowhammer mitigations (available)
Rowhammer [1], first introduced in [2], is a security exploit that relies on electromagnetic side-effects happening in DRAM memories due to repeated accesses to the same row(s) in a short period of time. In fact, accessing the same row in the DRAM many times in a short span of time may cause electromagnetic interactions with … full description “Automated verification of Rowhammer mitigations (available)”
Autonomous Cars – Evaluation of Security Countermeasures (available)
Project Description Autonomous and connected vehicles will be a part of reality in the near future. There are many development efforts currently underway to pave the way for the deployment of autonomous vehicles (self-driving cars) in public areas. These vehicles are a collection of complex and sophisticated computational architectures. Cybersecurity is among many challenges that … full description “Autonomous Cars – Evaluation of Security Countermeasures (available)”
Bisimulation Algorithmics (available)
Labelled transition systems are a crucial abstraction to understandcomplex and distributed systems. Bisimulation, in its many variations,is conceptually at the core of many verification tools. One such toolis OvenMPST. OvenMPST is a tool for validatingand handling multiparty protocol specifications. In this tool,bisimulation plays a central role in establishing that a protocol iswell formed and correctly … full description “Bisimulation Algorithmics (available)”
Building a chatbot for student queries (available)
It is important that student queries are replied to quickly and accurately. Many of the requests for information are fully explained in resources such as the student handbook. These include questions such as where students request extensions on coursework or how shuold they inform College if they are absent from a lecture. Frequently these questions … full description “Building a chatbot for student queries (available)”
Carbon Labelling – Blockchain based product carbon footprint system. (available)
Project Description Carbon footprint associated with a product is a combination of the emission-related in the manufacturing and logistics of the product. Logistics plays a vital role in moving products from factories to home and is one of the significant causes of carbon emission in Europe. Besides this, the last mile delivery network is also … full description “Carbon Labelling – Blockchain based product carbon footprint system. (available)”
Computer Vision for Extreme Environments (available)
The use of data from extreme environments in computer vision have shown an increase of interest in recent years as drones and autonomous vehicles were introduced into new uses. Nuclear plants, deep underwater and space vehicles are some of the areas computer vision can be applied to develop a fully autonomous system. Furthermore, the development … full description “Computer Vision for Extreme Environments (available)”
Coq Formalisation of Recursive Adaptive Grammars (available)
The aim of this project is to formalise within the Coq proof assistant [1] the meta-theory of the recursive adaptive grammar framework [2] Programming languages are usually specified on two levels. The first level defines a context-free grammar that specifies the syntax of the language. Usually, however, not all syntactically correct programs make sense, and … full description “Coq Formalisation of Recursive Adaptive Grammars (available)”
Corporate Transparency – Enabling Consumers Track and Vet their Data Usage (available)
Project Description Data, primarily related to consumers is a crucial part of the modern tech-companies like Google, Facebook, Instagram, and non-tech-companies (superstores, insurance companies, etc.) alike have now started to rely heavily on consumer data for various commercial activities. Although the General Data Protection Regulation (GDPR) enhances the rights of the consumers from a technical … full description “Corporate Transparency – Enabling Consumers Track and Vet their Data Usage (available)”
COVID-19 – Mobile phone based passport applications (available)
Project Description We have all been affected by COVID19. Amongst the main driving forces for reopening international borders and enabling traveling is the existence of COVID19 immunity passports. However, there are serious considerations around the overall trust, security, privacy but also ethical dimensions of such proposals. This project aims to take into account the views … full description “COVID-19 – Mobile phone based passport applications (available)”
Cybercrime and ransomware groups – data analysis (available)
Project background Cybersecurity is the practice of defending computers, servers, mobile devices, electronic systems, networks, and data from malicious attacks, in an ever increasingly complex threat landscape. These attacks constitute a variety of computer-enabled and computer-dependent crimes, broadly categorised as ‘cybercrime’. In order to be in a position to defend against these attacks and minimise … full description “Cybercrime and ransomware groups – data analysis (available)”
Cyclist: Verifying Programs using Cyclic Proof (available)
Cyclic proofs are a technique for proving properties inductively, or proving properties about inductively defined objects or processes. They can be used to prove logical statements, or to verify recursive programs. The Cyclist tool [1] has been developed as an automatic verification tool based on cyclic proofs. It can prove termination and verify temporal properties … full description “Cyclist: Verifying Programs using Cyclic Proof (available)”
Deep learning based underwater image enhancement and object recognition (available)
In the past decade, advances in marine object recognition have been dramatically boosted for monitoring of underwater ecosystems. Traditional statistical analysis and ocean model simulation heavily depend on the availability of visual features. However, Due to light attenuation and scattering problem, the underwater images captured by optical imaging system are heavily degraded. As a result, … full description “Deep learning based underwater image enhancement and object recognition (available)”
Deep Learning-based Environmental Sound Classification (available)
Automatic sound classification attracts increasing research attention owing to its vast applications, such as robot navigation, environmental sensing, musical instrument classification, medical diagnosis, and surveillance. Sound classification tasks involve the extraction of acoustic characteristics from the audio signals and the subsequent identification of different sound classes. The broad range of sound classification deployments can be … full description “Deep Learning-based Environmental Sound Classification (available)”
Detecting money laundering in cryptocurrency economy (available)
Project Description Cryptocurrency networks are unique in a way that all the transactions are public. All payers and receivers are known, and their respective pseudonyms are public. Whereas the inherent anonymity enabled by the pseudonyms and privacy-preserving protocols, cryptocurrency can be argued to be a suitable platform for money laundering activities. In this project, the … full description “Detecting money laundering in cryptocurrency economy (available)”
Digital Humans in a Virtual Reality Football Platform. (available)
Libero is a VR football platform; a ground-breaking experience in visitor focused, immersive content that allows fans to truly live the history of famous football clubs, whilst also giving them a glimpse of what the future holds. Using A.I., world-class animation and award-winning storytelling, we can engage fans, new and old, in a way that … full description “Digital Humans in a Virtual Reality Football Platform. (available)”
Embedded firmware development for the Open Bot Brain project (available)
Software is a vital part of our infrastructure. You may be familiarwith software running on computers and phones. But software runs onmany more devices as part of an embedded microcontroller in thedevice, software running on embedded devices is often called firmware.Examples range from toothbrushes, to appliances, to tools, and devicesin the so called internet of … full description “Embedded firmware development for the Open Bot Brain project (available)”
Empirical evaluation of static verifiers for the Go programming language (available)
Go is a language that natively supports many constructs to synchronise concurrent threads. Because of this, developing code that contains subtle concurrency bugs is rather common. To address this problem, several groups of researchers have put forwards tools to find concurrency bugs in Go codebases. The objective of this project is to evaluate how some … full description “Empirical evaluation of static verifiers for the Go programming language (available)”
Federated Machine Learning – Security and Privacy Evaluation Framework (available)
Project Description User data is essential for many of the modern business operations, especially related to the building consumer segmentation and profiling – for marketing and services personalisation. Dealing with user data has its positive and negatives, especially after the General Data Protection Regulation (GDPR) collecting and storing user’s personal data. Centralised machine learning approaches … full description “Federated Machine Learning – Security and Privacy Evaluation Framework (available)”
Formal Verification for Blockchains (available)
In this project you will explore the world of formal verification andblockchains, specifically the new Ethereum 2.0 ‘Proof-of-Stake’ blockchain [1]. This is a more energy-efficient replacement for the original Ethereum ‘Proof-of-Work’ blockchain. As in any blockchain, correctness of thedistributed ‘consensus’ protocol [2] used to maintain the chain and extend it with new blocks is critical. … full description “Formal Verification for Blockchains (available)”
Increasing the Efficiency of Low-land Natural Disaster Search and Rescue through ‘Supervised Hybrid Animal-UAV Interactions’ (available)
Search and Rescue (SAR) is a time-critical event: after a finite period of time the chances of recovering individuals who have become lost, or trapped in the wake of a disaster, trend towards zero. As a result, management of search and rescue resources is paramount. Travel time, planning and executing search grids, are pivotal tasks … full description “Increasing the Efficiency of Low-land Natural Disaster Search and Rescue through ‘Supervised Hybrid Animal-UAV Interactions’ (available)”
Jupyter notebooks (available)
Prerequisites: experience with Python (useful) and Javascriptprogramming (essential). It may be useful to be willing to learn aboutfunctional programming (but this is not essential). Jupyter notebooks [1] are examples of literate programming [2] wherecode and outputs from the code as well as documentation are in the sameapplication. Jupyter allows the user to run code … full description “Jupyter notebooks (available)”