Repository logo
  • Log In
    Log in via Symplectic to deposit your publication(s).
Repository logo
  • Communities & Collections
  • Research Outputs
  • Statistics
  • Log In
    Log in via Symplectic to deposit your publication(s).
  1. Home
  2. Faculty of Engineering
  3. Computing
  4. Computing PhD theses
  5. Designing and maintaining an efficient webassembly mechanisation
 
  • Details
Designing and maintaining an efficient webassembly mechanisation
File(s)
Rao-X-2025-PhD-Thesis.pdf (2.33 MB)
Thesis
Author(s)
Rao, Xiaojia
Type
Thesis or dissertation
Abstract
WebAssembly is a rapidly evolving binary format originally designed for efficient and safe execution of low-level languages like C and Rust on the web supported by all major browsers. Since its release in 2017, it has expanded to diverse execution environments and has grown extensively in its features. The importance of the language and its design with a formal specification makes it a compelling subject for programming languages and formal verification research.

This thesis focuses on my contributions to studies around the WebAssembly semantics and verification. I contributed a major part in the WasmCert-Coq mechanisation of the WebAssembly in Coq, starting from its inception which drew definitions from Watt's Isabelle/HOL mechanisation for a pre-1.0 version of WebAssembly, until my update of the semantics to Wasm 2.0 and beyond, which also produces a fully conformant interpreter as its extracted artifact. My work on the WebAssembly mechanisation has discovered and helped fix several errors in the WebAssembly specification, fulfilling the promise of the language mechanisation for refining an important non-mechanised specification.

In addition, through my work on WebAssembly mechanisation, several methods have been explored and implemented to reduce the effort of maintaining mechanised models of WebAssembly. In particular, my work on the progressful interpreters proposes a new method using a dependently-typed design to merge the interpreter, its correctness, and the progress property into one mechanisation artifact.

Besides designing the mechanisation of WebAssembly’s semantics, I demonstrated the usefulness of language mechanisation to the formal verification by jointly developing the Iris-Wasm program logic using the Iris separation logic framework, which supports modular reasoning about WebAssembly programs, including host-WebAssembly interactions and module instantiation.

My efforts provide a foundation for efficient, scalable, and reliable verification of WebAssembly as it continues to evolve, ensuring its role as a secure and efficient platform for modern computation.
Version
Open Access
Date Issued
2024-11-30
Date Awarded
2025-10-01
URI
https://hdl.handle.net/10044/1/124359
DOI
https://doi.org/10.25560/124359
Copyright Statement
Attribution 4.0 International Licence (CC BY)
License URL
https://creativecommons.org/licenses/by/4.0/
Advisor
Gardner, Philippa
Publisher Department
Department of Computing
Publisher Institution
Imperial College London
Qualification Level
Doctoral
Qualification Name
Doctor of Philosophy (PhD)
About
Spiral Depositing with Spiral Publishing with Spiral Symplectic
Contact us
Open access team Report an issue
Other Services
Scholarly Communications Library Services
logo

Imperial College London

South Kensington Campus

London SW7 2AZ, UK

tel: +44 (0)20 7589 5111

Accessibility Modern slavery statement Cookie Policy

Built with DSpace-CRIS software - Extension maintained and optimized by 4Science

  • Cookie settings
  • Privacy policy
  • End User Agreement
  • Send Feedback