Automated Verification of WebAssembly Programs


   Department of Computer Science

   Applications accepted all year round  Self-Funded PhD Students Only

About the Project

The new language WebAssembly is gaining popularity as a compilation target for Web applications. Unlike many modern languages, it has been carefully specified using a reference implementation in Standard ML. Some recent research has included production of a mechanised executable specification in Isabelle, further clarifying details of the language.

Automated verification techniques are methods for proving that a program behaves in a certain way, or is free from certain kinds of errors. Unlike testing, which only checks a finite number of use cases of a program, automated verification uses mathematically justified techniques to reason about a program, proving that it behaves correctly in all possible situations.

Automated verification techniques have developed rapidly over the last 20 years and are beginning to be used in some applications software. One common barrier to their application is the complexity and ambiguity of most programming languages. WebAssembly ought not to suffer from these problems. This factor, combined with its emerging popularity, makes it an ideal target for low-level automated verification techniques.

The goal of this project is to produce an automated verification tool for WebAssembly and to assess which verification techniques are effective for WebAssembly programs.

For informal enquiries, please contact , including "Automated Verification of WebAssembly Programs" in the subject of your e-mail and stating clearly how you meet the eligibility criteria.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

You must have a good Bachelor's degree (2.1 or higher, or equivalent) or Master's degree in Computer Science, Mathematics or a similar relevant subject.

Experience of software development is essential, as is some knowledge of automated verification. Advanced knowledge of automated verification is not required, but you should (for example) have studied a relevant module at postgraduate or final year undergraduate level. Knowledge of compilers is also desirable.


Computer Science (8) Information Services (20)

Register your interest for this project



Where will I study?

Search Suggestions
Search suggestions

Based on your current searches we recommend the following search filters.