PhD in Software Engineering

I plan to recruit a new PhD student in the area of static analysis and verification and another in the area of software engineering for robotics to start in 2017/18.  If you have strong modelling skills and would like to join a world-class research group, read on.

What is Static Analysis & Verification?

Modern Software Engineering does not rely solely on testing for analysis and verification of models and programs.  Mathematics is used to write precise and unambiguous models and to define essential properties of the software. Tools are used to check statically that the programs are correct implementations of the models and satisfy the identified properties.  PhD students working with me have, for example, developed:

  • Techniques to construct mathematical models based on graphical notations;
  • Techniques and tools for analysis based on the mathematical models;
  • Theories that justify the use of advanced analysis techniques;
  • Verified artefacts (programs, compilers, and so on);
  • Automated testing techniques based on the mathematical models.

The results range from foundational advancements to applied techniques and tools. My current areas of application of interest are robotics and medical devices, and safety-critical programs written in Java.

What are the current topics of interest?

Being in a world-leading position in our field, we can help you select a topic for your PhD project, so that you can engage in meaningful research from the first year of the programme. Some examples are provided here, but I am happy to consider other projects in the area of static analysis and verification of concurrent, real-time, and object-oriented programs. As you will see from my example topics, II am interested in both theoretical and applied research in software engineering. Typically, my students take between three and three-and-a-half years to conclude.  Many of my students start publishing novel and significant results from as early as the second year of studies. 

Who will you be working with?

You will work in a world-class team of researchers in the field of High-Integrity Systems Engineering.  In 2014, the Department of Computer Science was ranked 7th (jointly with Oxford) among 89 departments in the country for the quality of our research.  Our research group, The High-Integrity Systems Engineering Group has an international reputation on safety and formal methods. Our work has had extensive industrial support, and academic credit is confirmed by the high number of citations of earlier papers.

Where will you be located?

The Department of Computer Science is located in the new campus of the University of York, in a new purpose-built building. It is the newest Computer Science facilities in the United Kingdom. York is one of the most historic, picturesque and safe cities in the country.  The Department of Computer Science hosts several world-class research groups.  

Are there any scholarships available?

Current information about funding offered by the department can be found in this page.