dc.rights.license | CC-BY-NC-ND | |
dc.contributor.advisor | Vassena, M. | |
dc.contributor.author | Ionescu, Alex | |
dc.date.accessioned | 2024-07-24T23:03:36Z | |
dc.date.available | 2024-07-24T23:03:36Z | |
dc.date.issued | 2024 | |
dc.identifier.uri | https://studenttheses.uu.nl/handle/20.500.12932/46861 | |
dc.description.abstract | WebAssembly is a new low-level programming language and portable bytecode format designed with the goal of increasing interoperability and security across the software ecosystem.
In order to ensure correctness and adherence to the official specification, some WebAssembly implementations use formally verified interpreters as testing oracles. This thesis explores a novel approach to defining verified interpreters, by using an intrinsically-typed representation of the WebAssembly abstract syntax.
The main contributions of this thesis include an intrinsically-typed WebAssembly interpreter that closely follows the official reference interpreter, and an optimized interpreter based on an improved representation of control-flow. The interpreters are implemented in the Lean 4 theorem prover, leveraging its support for dependent typing and functional-but-in-place programming. | |
dc.description.sponsorship | Utrecht University | |
dc.language.iso | EN | |
dc.subject | LeanWasm: An Intrinsically-Typed Interpreter for WebAssembly | |
dc.title | LeanWasm: An Intrinsically-Typed Interpreter for WebAssembly | |
dc.type.content | Master Thesis | |
dc.rights.accessrights | Open Access | |
dc.subject.keywords | WebAssembly; Lean; Formal Verification; Dependent Types; Intrinsically-Typed | |
dc.subject.courseuu | Computing Science | |
dc.thesis.id | 34878 | |