Virtual reality and immersive exploration of software histories (Dr. William Billingsley) Version control histories for collaborative projects often become very large – dozens of branches with thousands of nodes. These are simply too large to explore effectively on a flat 2d screen. This project seeks to take advantage of the human sense of space in immersive environments, and see whether exploring a git graph in virtual reality allows (particularly students) to better understand large commit histories. In a similar vein we would like to create and examine the utility of other immersive representations of software – which parts of large codebases are changing and how, and the connectivity between software and the many libraries they import. Email Dr. William Billingsley.
Cognitive apprenticeship tutor for collaborative software (Dr. William Billingsley) Most software development is collaborative, with developers committing code to git that is then run through various quality stages. However, while there are many systems for offering advice on code quality (eg, FindBugs) there is less assistance with the overall development effort. For example, detecting groups that have unmerged branches where there is parallel development on other branches hitting the same code locations (an impending case of “merge hell”). Or other factors about the health of a developer’s development practices. This project seeks to develop an automated advice tool that would hook into the ecosystem of a collaborative development project, and offer individuals and groups within that project automated advice on their development work. Email Dr. William Billingsley.
Optimising Mobile Ad-hoc Networks (Dr. David Paul) Imagine there's been an earthquake, or some other disaster, and all the networking infrastructure has been rendered inoperable. Or imagine you're with a group on a search-and-rescue mission in an area where you have no existing networking infrastructure. In these situations, it's possible to set up an ad-hoc wireless network to allow communication. But imagine that Alice wants to communicate with Carol, but they are out of each other's range. Bob is halfway between Alice and Carol, so Alice could send her message to Bob, then Bob forward it on to Carol. During the time it takes to send this message, Carol may move close enough to Alice that she can send her reply directly. Mobile Ad-hoc Networks are networks where all nodes may be moving constantly. There's a lot of ground here for potential research, from better mobility models (to model how nodes move in the real world), improved routing protocols (to limit the number of messages that need to be sent), to issues with security and energy efficiency (which can be vital considering these mobile devices typically have a limited battery life). This project will investigate some of these issues. Email Dr. David Paul.
Cryptanalysis with Deep Learning (Dr. David Paul) Code breaking has a long and interesting history. Cryptanalysis is the art of taking encrypted information (cyphertext) and converting it into a readable format (plaintext) without having access to the secret key typically required for decryption. Deep learning is a branch of machine learning that use multiple processing layers in an attempt to model high level abstractions of data. Deep learning has been shown to be an effective mechanism for tasks such as playing Go, generating human-like text, and even realistic handwriting. This project will investigate whether deep learning can be effective in cryptanalysis. Email Dr. David Paul.
Quick solutions for the Boolean satisfiability problem (SAT) (Dr. David Paul) The Boolean satisfiability problem (SAT) asks whether the variables of a given Boolean formula can be assigned values that cause the formula to evaluate to true. SAT was the first problem proven to be NP-complete, and thus there are no known solutions that perform well in all circumstances. However, as the power of computers has increased, more sophisticated algorithms have been created that allow certain important classes of SAT instances to be solved in a reasonable period of time. This project will cover the state-of-the-art algorithms and data structures used to solve SAT problems. Email Dr. David Paul.
Adaptive biometric systems (Professor Paul Kwan) Current biometric systems have a static processing architecture that places a limit on their performance. Next generation systems are expected to be adaptive by exploiting the integration of adaptive information processing models and biometric authentication algorithms. Email Professor Paul Kwan.
Digital cultural heritage (Professor Paul Kwan) Advances in content-based image retrieval techniques in indexing and retrieving digital archives beyond the keyword search available at present has opened up a brand new field of digital culture heritage. Email Professor Paul Kwan.
Integration of Machine Learning and Database Techniques for Efficient Retrieval of Complex Data Objects (Professor Paul Kwan) Technologies that enable the smart use of information in such fields as bioinformatics, computer-aided design, e-commerce, biometrics authentication, etc. are indispensable to the present information age. Often, information occur in databases where huge amount of complex data objects like text documents, images, videos, and even protein and DNA sequences have accumulated. Researching methodologies for their efficient retrieval by integrating proven machine learning and database techniques in an innovative manner is the primary goal of this project. Email Professor Paul Kwan.