SpotBugs Extension

Spotbugs is a static code analysis program that inspects Java code and flags up possible sources of errors. The set of rules included cover common coding errors that are pervasive in the use of the Java language. The system has a plugin architecture that allows rules to be added and the aim of this project […]

Continue reading

Occlusion Based Explanations of Black-Box Models for Deep Learning

Occlusion sensitivity analysis allows us to better understand trained machine learning models by identifying which parts of a given input are most salient in determining the model’s prediction. It is particularly valuable as it can be applied to black-box models i.e. models with internal representations which are difficult to access or interpret.   Occlusion sensitivity […]

Continue reading

Enriching CSPLib

CSPLib is a library of test problems for constraint solvers. It currently contains 89 different types of problems from different areas. The goal of this project is to enrich the library with new models/problems, written in Essence/Essence Prime. These problems will be mainly taken from the annual MiniZinc Competitions. A final (possibly achievable) goal is […]

Continue reading

Debated backpropagation

In this project we intend to enrich a backpropagation algorithm with dialogue. Backpropagation is used to train a feedforward neural network often for classification tasks [1]. In the new algorithm components of the network, such as neurons or layers become agents with their own identity and personality [2]. The network becomes an agent society, where […]

Continue reading

Recreating the Dress

You might remember “the dress” – a social media sensation which divided the world through colour. A simple picture of a dress, which some people said was white and gold, others said was blue and black. Usually with supreme confidence and incredulity that anyone could see it differently. Some people saw it one way to […]

Continue reading

A verified compiler

Compilers take syntax and transform it into code that is executable by a machine, and they do this using various stages: syntax analysis, semantic analysis, code generation, etc. The machine code that is outputted from a compiler is usually trusted by the developer that it is correct, or that it exhibits an equivalent computation to […]

Continue reading

StackOverflow Sidekick

StackOverflow as an active question and answer community of people with an interest in programming. For many programmers, it is an invaluable resource that provides candidate solutions for the myriad small and large problems that programming tasks can bring with them. Unfortunately, most users of StackOverflow are merely passive consumers of the content on the […]

Continue reading

Creating Balanced Card Games

Many multi-player card games, such as Magic the Gathering and Hearthstone, include cards with both a cost and value. This produces an obvious trade-off, we want cards to be useful but not overpowered. The aim of this project is to develop a system which can automatically balance such games — by creating an A.I. which […]

Continue reading