Project Title | Number | Proposer Name | |
Hybrid HW/SW CPU Simulation using Zync | P001 | Nigel Topham |
Processor Designer: An FPGA-based Teaching System for the Computer Design Laboratory | P002 | Nigel Topham |
What is the capacity of printed paper? | P003 | Iain Murray |
Artificial Phutball player | P004 | Iain Murray |
Machine learning of fonts | P005 | Iain Murray |
A proof assistant for the modal mu-calculus | P006 | Julian Bradfield |
An integrated C/Lisp Emacs debugger | P007 | Julian Bradfield |
Automatic heraldic blazoning | P008 | Julian Bradfield |
Translating configuration languages | P009 | Paul Anderson |
Mobile application for experiments in causal discovery | P010 | Christopher Lucas |
Vision-based motion estimation with a mobile robot | P011 | Maurice Fallon |
A Web-based configuration language demonstrator | P013 | Paul Anderson |
Configuring cloud services with L3 | P014 | Paul Anderson |
The use of QR codes and mobile smart devices to improve veterinary patient care and safety during anaesthesia | P015 | Paul Anderson |
Firewall administration, the game | P016 | Kami Vaniea |
Bidirectional transformations in ATL | P017 | Perdita Stevens |
Game-based bidirectional transformations in Medini QVT | P018 | Perdita Stevens |
Modelling Edinburgh Buses with CARMA | P019 | Jane Hillston |
Graphical User Interface for Markovian Agent Models | P020 | Jane Hillston |
Property-based testing for operational semantics and type systems | P021 | James Cheney |
Using Rich Inference to Find Novel Answers to Questions | P022 | Alan Bundy |
Hardware Support for Convolutional Neural Network Applications | P023 | Nigel Topham |
Deep Learning on Low Power GPUs | P024 | Michael O'Boyle |
Ray tracing on low power GPUs | P025 | Michael O'Boyle |
Software pipelining in LLVM | P026 | Michael O'Boyle |
Real time computer vision on embedded GPU platforms | P027 | Michael O'Boyle |
Compiler Parallel Dependency Online Tutor | P028 | Hugh Leather |
Streaming parallelism in Scala | P029 | Hugh Leather |
Iterative Compilation for Interactive Programs | P030 | Hugh Leather |
Mobile Workload Network Layer For Replayable Online Workloads | P031 | Volker Seeker |
Developing an SDN application: load-balancer | P032 | Myungjin Lee |
Developing an SDN application: hierarchical heavy-hitter detector | P033 | Myungjin Lee |
Developing an SDN application: superspreader detector | P034 | Myungjin Lee |
Performance evaluation of virtualised network function platforms | P035 | Myungjin Lee |
Predict the word in the middle | P036 | Kenneth Heafield |
Developing Educational Games for Teaching Children with Autism (Generic proposal) | P037 | Helen Pain |
Further embarrass Google with fast scalable streaming and sorting pipelines in C++ | P038 | Kenneth Heafield |
Workflow management for machine translation | P039 | Kenneth Heafield |
Natural Language Interface for Shell Commands | P040 | Shay Cohen |
Visual Tracking of Insects Using a Google Tango | P041 | Benjamin Risse |
A systematic review of technologies for adults on the autism spectrum, with recommendations for future research priorities | P042 | Helen Pain |
Usability evaluation of SSL/TLS APIs | P043 | Kami Vaniea |
ARMv8 Backend for Evolutionary Test Generation Framework for Memory Consistency Verification in Simulation | P044 | Vijay Nagarajan |
Translation of cache coherence protocol DSL for model checking | P045 | Vijay Nagarajan |
Stop-Start Programs: Measuring the resilience of programs to intermittence | P046 | Vijay Nagarajan |
“Real-time” analytics for Massive Open Online Courses | P047 | Vitomir Kovanovic |
A tool for investigating type errors in functional programs | P048 | Don Sannella |
Programming with spreadsheets | P049 | Don Sannella |
Tracing compilation for a simple functional language | P050 | James Cheney |
ClickDeduce: Interactive Inference Rule Explorer | P051 | James Cheney |
Solving terms in the Lukasiewicz mu-calculus. | P052 | Kyriakos Kalorkoti |
TryLinks: Lightweight introduction to cross-tier Web programming | P053 | James Cheney |
Too to assist with assessing ecidence for misconduct. | P054 | Kyriakos Kalorkoti |
Computer assistance with Parametrised Groebner-Shirshov bases. | P055 | Kyriakos Kalorkoti |
Verification of higher-order programs using types | P056 | Colin Stirling |
Implementation of hybrid automata | P057 | Colin Stirling |
Implementation of a proof system for modal mu-calculus | P058 | Colin Stirling |
FPGA design space exploration using OpenCL | P059 | Christophe Dubach |
High-level parallel implementation of KinectFusion: a 3D Scene Reconstruction Vision Application | P060 | Christophe Dubach |
MPI backend for a functional parallel programming language | P061 | Christophe Dubach |
Parallelising Emerging HPC Applications using a Functional Parallel Programming Language | P062 | Christophe Dubach |
Improved spike sorting in neuronal high density multielectrode array recordings | P063 | Matthias Hennig |
A Standard ML to Swift source-to-source compiler | P064 | Stephen Gilmore |
Location-dependent effects of neural homeostatic mechanisms | P065 | Matthias Hennig |
Developing RoboAnt: a mobile-phone powered autonomous robot based on the insect brain. | P066 | Barbara Webb |
A robot model of fiddler crab interaction | P067 | Barbara Webb |
Development of a visualisation and analysis tools for high density neuronal multielectrode array recordings | P068 | Matthias Hennig |
Developing a multiplayer children’s exergame using indoor location beacons | P069 | Judy Robertson |
Designing a smart watch application to improve young people’s fitness | P070 | Judy Robertson |
If only this thing would just work - effect of personality on interacting with technology | P071 | Maria Wolters |
Automating the generation of loose grammars for Xtext parsers | P072 | Perdita Stevens |
An app to track beetles | P073 | Barbara Webb |
Language Independent Refactoring DSL | P074 | Perdita Stevens |
A trace generator for CARMA | P075 | Stephen Gilmore |
Language interoperability and composition for Xtext-based languages | P076 | Perdita Stevens |
Supporting the Generation Gap pattern in Xcore | P077 | Perdita Stevens |
Workflow Decomposition | P078 | Perdita Stevens |
Functional Enrichment Analysis of Network Clustering using a Randomised Null Model | P079 | Douglas Armstrong |
Sentinal : next generation annotating of video data. | P080 | Douglas Armstrong |
Using Counterfactual Regret Minimization to approximate Nash equilibria in large games | P081 | Kousha Etessami |
Patternizing Legacy Sequential and Parallel Programs | P082 | Murray Cole |
Algorithms for Stackelberg equilibrium in succinctly represented Security Games | P083 | Kousha Etessami |
A graphical interface for an ambulance deployment modelling system | P084 | Vashti Galpin |
Automated Pattern Finding in Legacy Programs | P085 | Murray Cole |
reachability algorithms for Branching Markov Decision Processes | P086 | Kousha Etessami |
Plastic Parallel Programs | P087 | Murray Cole |
Better algorithms/heuristics for solving partial-order combinatorial games | P088 | Kousha Etessami |
Shortest path algorithms for a weighted 2-stack automaton | P089 | Adam Lopez |
Event Ordering in News Articles | P090 | Shay Cohen |
Making AI problem-solving algorithms safe using human expertise | P091 | Michael Rovatsos |
Literate CARMA | P092 | Stephen Gilmore |
Building a University Ontology | P093 | Michael Rovatsos |
Web-Based Mapping of Scientific Communities | P094 | Michael Rovatsos |
Learning to generate natural language from semantic representations | P095 | Adam Lopez |
The benefits of deforestation | P096 | Don Sannella |
A probabilistic tool for creating metadata and cleaning data sets | P097 | Christopher Lucas |
Using metadata for better classification and regression | P098 | Christopher Lucas |
Effect inference | P099 | Don Sannella |
Modelling Ridesharing/Carpooling in CARMA | P100 | Jane Hillston |
Improving Energy Overhead of Software Design Patterns | P101 | Ajitha Rajan |
Program splitting to Improve Instruction Locality | P102 | Ajitha Rajan |
Exploring linear functional programming | P103 | Garrett Morris |
Test Case Selection using an Approximation Algorithm | P104 | Ajitha Rajan |
Generalizing superclasses in type class systems | P105 | Garrett Morris |
A social walk-sharing app | P106 | Jane Hillston |
Avoiding cycles | P107 | Mary Cryan |
Rank Aggregation | P108 | Mary Cryan |
Optimisation of Gaussian Process Regression Implementations for Mobile Computing Platforms | P109 | Bjoern Franke |
Superparallelisation | P110 | Bjoern Franke |
I/O Isolation for Possible Broken Applications | P111 | Bjoern Franke |
Scalability of tools and runtimes for model-driven engineering with DSLs | P112 | Perdita Stevens |
More Beautiful Timetables from Beautiful Soup | P113 | Stephen Gilmore |
Automating non-definability proofs via sequentiality relations | P114 | John Longley |
Adding Tan Lei's Theorem to Mandelbrot Maps | P115 | Philip Wadler |
Deriving pretty-printing for Haskell | P116 | Philip Wadler |
Applying generic discrimination to achieve an order-of-magnitude improvement in databases | P117 | Philip Wadler |
Health Monitors under the Magnifying Glass: A Security & Privacy Study [Systems] | P118 | Paul Patras |
A graphical playground for Haskell | P119 | Philip Wadler |
IoT under Lock and Key: An Investigation into Internet of Things Vulnerabilities [Systems] | P120 | Paul Patras |
ANT+ and Wi-Fi co-existence | P121 | Paul Patras |
Scalability Analysis of Wide Area Networks for IoT | P122 | Paul Patras |
Deep learning for semantic parsing | P123 | Adam Lopez |
Tor Project: Historical analysis of gaming the HSDir hash ring | P124 | William Waites |
Tor Project: Analysis of Exposed Bad Relays in the Tor Network | P125 | William Waites |
Computational knot theory | P126 | John Longley |
Linking a fussy C interpreter to compiled C libraries | P127 | Brian Campbell |
Test-suite coverage searching | P128 | Brian Campbell |
A visual tool for SCOlog | P129 | Areti Manataki |
Semantic tagging to cross-link archival documents at the National Library of Scotland | P130 | Ewan Klein |
Visualisation as an aid to text processing | P131 | Ewan Klein |
How can we use metadata to manage an open repository of IPython Notebooks? | P132 | Ewan Klein |
Speak to me! - eye-contact recognition and synthesis for lifelike conversational agents with individuality | P133 | Hiroshi Shimodaira |
F0 contour estimation from speech using neural networks | P134 | Hiroshi Shimodaira |
Automatic prosody labelling using neural networks | P135 | Hiroshi Shimodaira |
Text-driven head motion synthesis of animated agents using neural networks | P136 | Hiroshi Shimodaira |
Modelling Soft Robots | P137 | J. Michael Herrmann |
Statistical significance of functional netowrks in the brain | P138 | J. Michael Herrmann |
Homeokinetic control under ROS | P139 | J. Michael Herrmann |
Neuronal homeostasis in networks with excitation and inhibition. | P140 | Mark van Rossum |
Sequence capacity of networks | P141 | Mark van Rossum |
Sloppyness in single neuron models | P142 | Mark van Rossum |
Using eye-tracking to evaluate a computational model of human language processing | P143 | Frank Keller |
Building an app for the EyeTribe, a $99 eye-tracker | P144 | Frank Keller |
Learning for Structured Image Representation | P145 | Frank Keller |
Visualize traffic flows in the Internet of Things (IoT) | P146 | Kami Vaniea |
Health Monitors under the Magnifying Glass: A Security & Privacy Study [Software] | P147 | David Aspinall |
IoT under Lock and Key: An Investigation into Internet of Things Vulnerabilities [Software] | P148 | David Aspinall |
Roll-Your-Own Secure App Store: A containerised app analysis suite and app store assembly | P149 | David Aspinall |
Visualising Hierarchical Proof, Dynamically | P150 | David Aspinall |
Finding vulnerabilities in low-level protocols | P151 | Myrto Arapinis |
Sensitivity of Counting Queries | P152 | Myrto Arapinis |
Security analysis of the QUIC protocol | P153 | Myrto Arapinis |
Optimism and the interpretation of ambiguety | P154 | Peggy Series |
Reward Processing in Schizophrenia and/or Depression | P155 | Peggy Series |
Probabilistic Inference deficits in Autism | P156 | Peggy Series |
Facial animation by deep learning | P157 | Taku Komura |
Character motion synthesis via joint embedding of motion and object shapes | P158 | Taku Komura |
Geospatial data analysis | P159 | Rik Sarkar |
Network Visualization tool for Hyperbolic space | P160 | Rik Sarkar |
Load value prediction for high-performance datacenter processors | P161 | Boris Grot |
Server processors: meet your match! | P162 | Boris Grot |
RISC pipelined processor simulator for undergraduate teaching | P163 | Boris Grot |
ArchSimDB: help computer architects organize and sift through their simulation data | P164 | Boris Grot |
Motion style transfer by variational autoencoder | P165 | Taku Komura |
Where will you be in 10 years time? Evolving profile data over time | P166 | Daniel Winterstein |
The effect of charity: Modelling charity impact, and measuring personal contributions | P167 | Daniel Winterstein |
Inside the mind of a fly... | P168 | Douglas Armstrong |
Enhancing a theorem prover for cyber-physical systems | P169 | Paul Jackson |
Adding subtypes to a theorem prover language | P170 | Paul Jackson |
Enhancing the Victor tool for formally checking software correctness | P171 | Paul Jackson |
An LLVM backend for Links | P172 | Sam Lindley |
A distributed SAT solver | P173 | Alan Smaill |
Plan synthesis in linear logic | P174 | Alan Smaill |
A higher-order implementation of anti-unification | P175 | Alan Smaill |
An agent-based model of musical interaction | P176 | Alan Smaill |
Designing Smart Contracts | P177 | Aggelos Kiayias |
A Mechanized Investigation of an Axiomatic System for Einstein's Special Relativity | P178 | Jacques Fleuriot |
Intelligent Theorem Recommendations for Mechanical Theorem Proving | P179 | Jacques Fleuriot |
A Proof Discoverer / Conjecture Maker for HOL-Light | P180 | Jacques Fleuriot |
Natural Language Interface for Diagram Drawing | P181 | Shay Cohen |
Computing multipebble simulations symbolically with BDDs | P182 | Richard Mayr |
Model Checking of Gap-Order Constraint Systems | P183 | Richard Mayr |
Combining new methods for NFA equivalence checking | P184 | Richard Mayr |
Build a website where users can rate software updates | P185 | Kami Vaniea |
A transmit only protocol for sensor data delivery | P186 | Rik Sarkar |
Translation of Instruction Set Architecture Models | P187 | Ian Stark |
Randomised Testing of an Embedded Microprocessor | P188 | Ian Stark |
Using the Z3 Automated Theorem Prover for Constraint Solving in HOL4 | P189 | Ian Stark |
Modelling Biological Systems as Communicating Processes | P190 | Ian Stark |
MATLAB Extension for Modelling Biological Processes | P191 | Ian Stark |
Machine Formalisation of a Biochemical Process Language | P192 | Ian Stark |
Building Logical Formulas that Describe Properties of Biochemical Processes | P193 | Ian Stark |
Create a holistic security interface for Windows 10 | P194 | Kami Vaniea |
Learning how to move your fingers to manipulate objects | P195 | Taku Komura |
GUI Authoring tool for XProc (XML Pipeline Language) | P196 | Henry S Thompson |
Seven-League Boots — Automatic Zooming for Map Navigation | P197 | Ian Stark |
Designing Web Based Social Stories to Support Relaxed Theatre Performances for Audience Members with Autism | P199 | Helen Pain |
Data-mining web proxy logs | P200 | Henry S Thompson |
Integrated Mobile System for the Red Squirrels project | P201 | Mary Cryan |
Squirrel Hair classification for the Red Squirrels project | P202 | Mary Cryan |
Tools for learning: computation and logic. | P203 | Michael Fourman |
UK Broadband Data Explorer | P204 | Michael Fourman |
Coordination Technologies for Care | P206 | Stuart Anderson |
Personally Held Health and Care Records in Support of Integrated Care | P207 | Stuart Anderson |
Privacy Principles to Privacy Settings | P208 | Stuart Anderson |
Querying Personally-Held Health and Care Records | P209 | Stuart Anderson |
Are persistent identifiers effective? | P210 | Henry S Thompson |
Minimising background communication related battery energy consumption on smartphones | P211 | Mahesh Marina |
Context-Aware MobiPerf | P212 | Mahesh Marina |
Shadow management on low power GPUs | P213 | Michael O'Boyle |
Help app developers correctly use encryption | P214 | Kami Vaniea |
Human factors of e-voting and verification | P215 | Kami Vaniea |
Using data science to study atmospheric pollution caused by public transport in Edinburgh | P216 | Stephen Gilmore |
Simulation of Embedded Processors for LiFi Systems | P217 | Nigel Topham |
Taxonomy of job descriptions | P218 | Damodar Sojka |
"Wait or Walk" App | P219 | Jane Hillston |
Detecting anomalous behaviour using RESpeck data | S001 | Naohiro Kakimura |
Typescript TNG Code Coverage and Type Analysis | S002 | Hamish Hutchings |
Exploring superiority of quantum over classical protocols and validation through classical simulations | S003 | Iskren Vankov |
Automated system documentation and configuration collection | S004 | Angus Pearson |
Snippet Sniffer | S005 | Ankit Sonkar |
Video Manipulation/Labelling Software with Application of Video Analysis Techniques for Automation | S006 | Craig Walton |
A robot imitating dung beetle behaviour | S007 | Ramsey El-Naggar |
Predictive Experiences | S008 | Ankit Sonkar |
Learning and inference with metaphors – a hierarchical Bayesian process | S009 | Christopher Lambin |
Music visualization in a musical fountain simulator | S010 | Constantinos Chrysostomou |
A monitoring system to identify and quantify wasted energy in domestic heating | S011 | Joel Hutton |
Digitizing the environment using popular RGB-D cameras | S012 | Filip Kiniorski |
Developing Educational Supports for Children with Autism Spectrum Conditions | S013 | Lucy Parker |
Analysis of light responses in recordings from retinal ganglion cells | S014 | Gizem Aras |
Using Native Language Identification to Classify Native Speakers of Asian Languages | S015 | Jake Browning |
TANE: Tools for Automatic Network Engineering | S016 | Rikki Guy |
Reasoning about programs using games | S017 | Atanas Dobrev |
Phonological Automata | S018 | Matthew Summers |
Load value prediction for datacenter applications | S019 | Marshall Bradley |
Testing Social Machines | S020 | Roosa Tammela |
Classification of urban sound recordings | S021 | Xiaowei Liu |
Looking at craft objects: An eye-tracking approach | S022 | Liquan Chai |
Speech-driven head motion synthesis with deep neural networks | S023 | Peter Stefanov |
Dynamics of the brain's default mode network | S024 | Lukas Danev |
Simulation of Burning Objects | S025 | Andrius Ziukas |
Developing an SDN application: load-balancer | S026 | Sebastian Goeb |
Linear-time parsers for families of non-projective dependency grammar | S027 | Lena Reisinger |
Automatic detection of tiredness from speech | S028 | Matus Falis |
Detecting deceptive behaviour in conversational interactions | S029 | Mattias Appelgren |
Tools for learning: computation and logic | S030 | Matthew Hepburn |
Tools for learning: computation and logic | S031 | Thomas Cumming |
Analysing Sensitivity of Software to the Environment through Monte Carlo Simulations | S032 | Boris Penev |
Creation of Multilingual Image Description Generation Datasets | S033 | Arthur Verkaik |
Implementing a Proof Query Language | S034 | Conrad Stojanowski |
If only this thing would just work - effect of personality on interacting with technology | S035 | Adam Jenkins |
Automatic Harmonic Analysis of Jazz Solos | S036 | Finlay McAfee |
Can robots have emotions? | S037 | Mario Spiro Tabry |
Fruit and vegetable classification from live video | S038 | Lukas Danev |
Creating an interface between L3 and Microsoft Powershell | S039 | Grant Kelly |
Measuring Waves | S040 | Patrick Green |
Taxonomy of job descriptions | S041 | Damodar Sojka |
Continuous analysis of office video | S042 | Peter Stefanov |