Soundness — WebAssembly 1.0
DRANK

The type system of WebAssembly is sound, implying both type safety and memory safety with respect to the WebAssembly semantics. For example:All types declared and derived during validation are respected at run time; e.g., every local or global variable will only contain type-correct values, every instruction will only be applied to operands of the expected type, and every function invocation always evaluates to a result of the right type (if it does not trap or diverge).No memory location will be read or written except those explicitly defined by the program, i.e., as a local, a global, an element in a table, or a location within a linear memory.There is no undefined behavior, i.e., the execution rules cover all possible cases that can occur in a valid program, and the rules are mutually consistent.Soundness also is instrumental in ensuring additional properties, most notably, encapsulation of function and module scopes: no locals can be accessed outside their own function and no modu…

webassembly.github.io
Related Topics: HTML5 WebAssembly
1 comments