I'm a lecturer in the Department of Computer Science at the
University of Hull, where I teach and research software engineering. I am a member of the computational science research group. I joined the department in July 2015. From April 2009 - May 2015, I was a research associate at the University of York. I received my PhD in Computer Science from the University of York in 2011 under the supervision of Richard Paige
and Kiran Fernandes.

My research falls into the broad area of systems and software engineering. My main line of research is in Model-Driven Engineering (MDE). Over the past years I have worked on various aspects of MDE including domain-specific modeling languages, model management, and traceability. Beyond MDE, I am interested in software analytics, empirical software engineering, and software evolution.

Currently I'm looking for smart, enthusiastic doctoral students. If you are interested, take a look here.

Research

The main area of my research is Model-Driven Engineering (MDE). MDE is the software engineering paradigm,
which focuses on creating and exploiting domain-specific abstractions (i.e.models) in order to support software development. My goal is to develop MDE tools and techniques that will
help software engineers to engineer better software systems. Below is a list of the publications I've (co-)authored over the past years. My Google Scholar Citations page can be found here.

Research Projects

In the past I have been involved in the following research projects:

As Model Driven Engineering (MDE) is increasingly applied to larger and more complex systems, the current generation of modelling and model management technologies are being pushed to their limits in terms of capacity and efficiency, and as such, additional research is imperative in order to enable MDE to remain relevant with industrial practice and continue delivering its widely recognised productivity, quality, and maintainability benefits.

The aim of the MONDO project is to tackle the increasingly important challenge of scalability in MDE in a comprehensive manner. Achieving scalability in modelling and MDE involves being able to construct large models and domain specific languages in a systematic manner, enabling teams of modellers to construct and refine large models in a collaborative manner, advancing the state-of-the-art in model querying and transformations tools so that they can cope with large models (of the scale of millions of model elements), and providing an infrastructure for efficient storage, indexing and retrieval of large models.

The aim of the OSSMETER project was to extend the state-of-the-art in the field of automated analysis and measurement of open-source software (OSS), and to develop a platform that will support decision makers in the process of discovering, comparing, assessing and monitoring the health, quality, impact and activity of open-source software. To this end, software tools were developed which supported the computation of trustworthy quality indicators by performing advanced analysis and integration of information from diverse sources including the project metadata, source code repositories, communication channels and bug tracking systems of OSS projects.

OSSMETER was not another OSS forge but instead it provided a meta-platform for analysing existing OSS projects that are developed in existing OSS forges and foundations such as SourceForge, Google Code, GitHub, Eclipse, Mozilla and Apache.

The MADES project was a Specific Targeted Research Project (STREP) of the Seventh Framework Programme for research and technological development (FP7). MADES aimed to develop a holistic, model-driven approach to improve the practice in the development of embedded systems. The proposed approach covered all phases, from design to code generation and deployment.

Design activities in MADES exploited a dedicated language developed as an extension to OMG's MARTE Profile. Validation activities played a key role in the context of MADES and they included the verification of key properties on designed artefacts, closed-loop simulation based on detailed models of the environment, and the verification of designed transformations.

Code generation addressed both hardware description languages and conventional programming languages with features for compile-time virtualisation of common hardware architecture features, including accelerators, memory, multiprocessor and inter-processor communication channels, to cope with the fact that hardware platforms are getting more and more complex.

Prospective Students

PhD in Software Engineering

I am currently recruiting new PhD candidates in the areas of model-driven engineering and software analytics. I'm looking for smart, ambitious students who want to do research in software engineering. You don't need a fixed idea for a research topic before contacting me. Most PhD students start with loose ideas of what interests them, and then refine their ideas during their PhD studies.

What is research? What is a PhD?

What is Model-Driven Engineering?

Model-Driven Engineering (MDE) is an approach to software development in which software and system models play a primary and indispensable role. MDE allows engineers to work and reason about software requirements, design, and correctness at higher levels of abstraction, and to generate automatically implementations, deployments, and other artifacts. MDE is an active area of research in software engineering and is used widely in industry for the development of large-scale complex software systems.

What is Software Analytics?

Software analytics aims to describe, predict, and improve development, maintenance, and management of complex software systems. Common methods and techniques rely on gathering, analysing, and visualising data generated during the software development process such as source code, bug reports, execution traces, and email communications. The main goal of software analytics is to turn this wealth of information into actionable insight to inform better decisions related to software development.

Applying

If you are interested in applying for a PhD with me, email me first to allow us to discuss possible topics. Please include a copy of your CV/resume with your email. To make a formal application, you should apply via the University of Hull's central application system. You should then name me as a potential supervisor.

Funding

Studying for a PhD requires tuition fees and living expenses for 3-4 years. Fees differ between Home/EU students and others. If you have your own funding (e.g. from a national scholarship programme or private finance), then you are able to apply to start at any time. Alternatively, if you are unable to fund PhD studies (or can only part-fund them), other possible sources of funding might be available - see the university's page on fees and funding for details.