Two mechanisations of WebAssembly 1.0
File(s)Watt2021Two.pdf (344.95 KB)
Accepted version
Author(s)
Watt, Conrad
Rao, Xiaojia
Pichon-Pharabod, Jean
Bodin, Martin
Gardner, Philippa
Type
Conference Paper
Abstract
WebAssembly (Wasm) is a new bytecode language supportedby all major Web browsers, designed primarily to be an efficient com-pilation target for low-level languages such as C/C++ and Rust. It isunusual in that it is officially specified through a formal semantics. Aninitial draft specification was published in 2017 [14], with an associatedmechanised specification in Isabelle/HOL published by Watt that foundbugs in the original specification, fixed before its publication [37].The first official W3C standard, WebAssembly 1.0, was published in2019 [45]. Building on Watt’s original mechanisation, we introduce twomechanised specifications of the WebAssembly 1.0 semantics, writtenin different theorem provers: WasmCert-Isabelle and WasmCert-Coq.Wasm’s compact design and official formal semantics enable our mecha-nisations to be particularly complete and close to the published languagestandard. We present a high-level description of the language’s updatedtype soundness result, referencing both mechanisations. We also describethe current state of the mechanisation of language features not previouslysupported: WasmCert-Isabelle includes a verified executable definitionof the instantiation phase as part of an executable verified interpreter;WasmCert-Coq includes executable parsing and numeric definitions ason-going work towards a more ambitious end-to-end verified interpreterwhich does not require an OCaml harness like WasmCert-Isabelle.
Date Issued
2021-11-10
Date Acceptance
2021-06-16
Citation
Lecture Notes in Computer Science, 2021, 13047, pp.61-79
ISSN
0302-9743
Publisher
Springer Verlag
Start Page
61
End Page
79
Journal / Book Title
Lecture Notes in Computer Science
Volume
13047
Copyright Statement
© 2021 Springer Nature Switzerland AG. The final publication is available at Springer via https://link.springer.com/chapter/10.1007/978-3-030-90870-6_4
Sponsor
Engineering & Physical Science Research Council (E
Grant Number
EP/R034567/1
Source
24th international symposium of Formal Methods (FM21)
Subjects
Science & Technology
Technology
Computer Science, Interdisciplinary Applications
Computer Science, Theory & Methods
Computer Science
Mechanised specification
Type soundness
WasmCert
SEMANTICS
JAVA
VERIFICATION
Artificial Intelligence & Image Processing
Publication Status
Published
Start Date
2021-11-20
Finish Date
2021-11-26
Coverage Spatial
Beijing, China