Teaching-funded PhD studentships - Deadline June 27!

Our department is advertising teaching-funded PhD studentships. If you are a UK/EU student your fees will be covered and you receive a salary of roughly 15k GBP per year for 4 years. More details are here.

Contact me if you are interested in doing your PhD in any of the projects below. The application has to be completed by June 27.

Explainable AI and Synthesis

Have you ever wondered about your Amazon or Spotify recommendations, why your credit check failed, why Google routes you through side streets, or why robots behave like they do?

This project aims to systematically explain recommendations and decisions made by various AI techniques. The focus will be on developing a framework for explanations of software decisions and behavior and applying it to selected algorithms from various areas of AI.

Efficient Co-Evolution of Software Architectures and Artificial Intelligence Components

Artificial intelligence (AI) is pervading the world around us. It is the driving enabler for countless innovations and products, e.g., drones and self-driving cars. However, often AI does not deliver services alone but is embedded inside the architecture of software systems. Changes in the software architecture might require costly updates of the AI parts and new AI components might impact the software architecture.

This project aims to enable efficient co-evolution of software architectures and AI components by providing a catalogue of typical evolution patterns and to suggest suitable adaptations both on the software architecture level and on the AI level to make evolution more efficient. It is expected that this holistic view will be able to leverage techniques from software architecture and from AI that complement each other to provide timely answers to existing and emerging software evolution challenges.

The research will be evaluated in the context of autonomous vehicles in urban environments (see the department’s project DriverLeics) and on a drone for search and rescue missions (also available at the department). We are building links with industrial partners in the area of autonomous driving to apply our research.

Differences in Specifications

You might have come across the following cartoon highlighting the challenge of effectively communicating software specifications:

Interestingly, even when given specifications in a language with a clear meaning, e.g., a modeling language or a formal specification of software, we still struggle. It is difficult to understand the impact of small changes or to even comprehend the differences between multiple versions of specifications for the same system.

This project aims to help engineers by making software languages analyzable, e.g., for computing meaningful differences between models or doing what-if analyses for small changes. The work will be demonstrated on a specification language, e.g., Spectra or Alloy, and a modeling language, e.g., languages of the UML.