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

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

uNetworkX

NetworkX is a Python library for building and analysing networks. It’s used extensively as a basis for simulation, notably for simulating the spread of epidemic across populations. We used NetworkX as a basis for epydemic, our epidemic spreading library. This is great for building larger systems, but there’s a problem for the science. Because NetworkX […]

Continue reading

What do CS researchers think about the law?

This project is inspired by a recent paper by law researchers: Return of the AI: An Analysis of Legal Research on Artificial Intelligence Using Topic Modeling. This paper looks at the legal literature around how law researchers are interested in AI. But can we do the opposite? Are computer scientists interested in the law? I […]

Continue reading