Developing new theoretical and practical techniques for parallel runtime monitoring

Primary supervisor

Additional information

Contact admissions office

Other projects with the same supervisor


  • Competition Funded Project (Students Worldwide)
This research project is one of a number of projects at this institution. It is in competition for funding with one or more of these projects. Usually the project which receives the best applicant will be awarded the funding. Applications for this project are welcome from suitably qualified candidates worldwide. Funding may only be available to a limited set of nationalities and you should read the full department and project details for further information.

Project description

Runtime monitoring is a lightweight formal method used to check the correctness of software systems. The method deals with the runtime (or dynamic) behaviour of a system, usually by recording a sequence of events that happen when the system is run. The problem is then to check whether a temporal property holds for that behaviour. This can happen online, whilst the system is running, or offline, by inspecting a log file. Common specification languages for properties include temporal logic, automata, regular expressions and fixed-point logics. Runtime monitoring can be thought of as formal testing or single-run model checking.

Two major concerns with online runtime monitoring approaches are overhead and interference when monitoring a system whist it is running. One possible solution to this issue that has not received much attention so far is to utilise parallelism. This project will explore the current work in this area and develop new theoretical and practical techniques for parallel runtime monitoring. There exists both task-parallelism in the monitoring activity and data-parallelism in the program traces. Monitoring algorithms may be implemented as a stand-alone system or an extension of an existing runtime monitoring tool developed here at Manchester (either MarQ or RuleR). The project will offer the opportunity to enter the Runtime Verification competition and engage with our active international collaborations, including an ongoing collaboration with NASA JPL.

The interested student should have an interest in formal methods and program verification and have reasonable programming skills.

Person specification

For information


Applicants will be required to evidence the following skills and qualifications.

  • This project requires mathematical engagement and ability substantially greater than for a typical Computer Science PhD. Give evidence for appropriate competence, as relevant to the project description.
  • You must be capable of performing at a very high level.
  • You must have a self-driven interest in uncovering and solving unknown problems and be able to work hard and creatively without constant supervision.


Applicants will be required to evidence the following skills and qualifications.

  • You will possess determination (which is often more important than qualifications) although you'll need a good amount of both.
  • You will have good time management.


Applicants will be required to address the following.

  • Discuss your final year Undergraduate project work - and if appropriate your MSc project work.
  • How well does your previous study prepare you for undertaking Postgraduate Research?
  • Comment on your transcript/predicted degree marks, outlining both strong and weak points.
  • Why do you believe you are suitable for doing Postgraduate Research?
▲ Up to the top