Research

Publications

2025

Rao, Xiaojia; Radziuk, Stefan; Watt, Conrad; Gardner, Philippa

Progressful Interpreters for Efficient WebAssembly Mechanisation Journal Article

In: Proc. ACM Program. Lang., vol. 9, no. POPL, 2025.

Abstract | Links | BibTeX

2024

Youn, Dongjun; Shin, Wonho; Lee, Jaehyun; Ryu, Sukyoung; Breitner, Joachim; Gardner, Philippa; Lindley, Sam; Pretnar, Matija; Rao, Xiaojia; Watt, Conrad; Rossberg, Andreas

Bringing the WebAssembly Standard up to Speed with SpecTec Journal Article

In: Proc. ACM Program. Lang., vol. 8, no. PLDI, 2024.

Abstract | Links | BibTeX

2023

Rao, Xiaojia*; Georges, Aïna Linn* (Joint First Authors); Legoupil, Maxime; Watt, Conrad; Pichon-Pharabod, Jean; Gardner, Philippa; Birkedal, Lars

Iris-Wasm: Robust and Modular Verification of WebAssembly Programs Journal Article

In: Proc. ACM Program. Lang., vol. 7, no. PLDI, 2023.

Abstract | Links | BibTeX

2021

Watt, Conrad; Rao, Xiaojia; Pichon-Pharabod, Jean; Bodin, Martin; Gardner, Philippa

Two Mechanisations of WebAssembly 1.0 Proceedings Article

In: Formal Methods: 24th International Symposium, FM 2021, Virtual Event, November 20–26, 2021, Proceedings, pp. 61–79, Springer-Verlag, Berlin, Heidelberg, 2021, ISBN: 978-3-030-90869-0.

Abstract | Links | BibTeX

Reflection

My PhD research has mostly been on projects related to WasmCert-Coq, a Rocq (known as Coq previously) mechanisation of the WebAssembly language specification, which I’ve been maintaing on Github since 2019.

I believe implementing important mechanisations in a maintainable way is valuable and requires careful planning, which can be substantially more difficult than making done-and-forgot one. Even if the underlying theory is not moving (such as mathematical definitions), the theorem prover languages or libraries themselves could be changed and refactored, demanding updates to the mechanisation which will otherwise gradually bit-rot. Some of these updates can be non-trivial depending on how backward-compatible the changes to the languages are (fortunately, Rocq has been pretty good on this aspect so far). There is a lot to be said on good ‘mechanisation engineering practices’, and I only come across them when I regret about a particular choice I have made in hindsight.

I also wish to study the foundations of proof assistants through active usage and experiments, in the hope of finding something useful for other usages. Eventually, it would be cool to do real mathematical researches using a proof assistant as a tool which can actually assist in coming up with the proofs, instead of merely for verifying the existing ones.