A
Size: a a a
A
HI
AT
A
HI
Developers choose languages primarily off of the quality of libraries in their ecosystemsॽ Howeverॶ what if languages and libraries were orthogonalॾ What if multiple
languages could be seamlessly adopted in a single applicationॶ depending on the immediate task at handॾ Currentlyॶ multi-language interoperability is usually pairwiseॶ
with explicit support provided to call from one specific language to anotherॽ When its
notॶ developers usually give up substantial safety guarantees such as type soundness or
memory integrityॽ Yet with ongoing work in modular secure compilationॶ it should be
possible to maintain the integrity of each languages abstractions when interoperatingॽ
What is needed for these techniques to enter common software development practiceॶ
and to evolve research furtherॶ is a sufficiently capable intermediate language that can
act as a target for these modular secure compilersॽ
WebAssembly is a nascent language with wide industry backing and strong security fundamentalsॽ It has strong typing of instructions and function callsॶ and provides module-based encapsulation of functions and memoryুpowerful primitives for
maintaining the integrity of source-level abstractionsॽ By extending WebAssembly furtherॶ through the introduction of a lightweight abstract type systemॶ these abilities are
strengthened even moreॽ This thesis will show practical examples of how this extended
WebAssembly is sufficient to protect additional abstractionsॶ like object method accessॶ
without needing to introduce heavy language features like first-class object supportॽ
This thesis speculatesॶ but does not proveॶ that with this simple abstract types extension WebAssembly can function as a performant target language for a modular secure
compilerॽ
AT
Developers choose languages primarily off of the quality of libraries in their ecosystemsॽ Howeverॶ what if languages and libraries were orthogonalॾ What if multiple
languages could be seamlessly adopted in a single applicationॶ depending on the immediate task at handॾ Currentlyॶ multi-language interoperability is usually pairwiseॶ
with explicit support provided to call from one specific language to anotherॽ When its
notॶ developers usually give up substantial safety guarantees such as type soundness or
memory integrityॽ Yet with ongoing work in modular secure compilationॶ it should be
possible to maintain the integrity of each languages abstractions when interoperatingॽ
What is needed for these techniques to enter common software development practiceॶ
and to evolve research furtherॶ is a sufficiently capable intermediate language that can
act as a target for these modular secure compilersॽ
WebAssembly is a nascent language with wide industry backing and strong security fundamentalsॽ It has strong typing of instructions and function callsॶ and provides module-based encapsulation of functions and memoryুpowerful primitives for
maintaining the integrity of source-level abstractionsॽ By extending WebAssembly furtherॶ through the introduction of a lightweight abstract type systemॶ these abilities are
strengthened even moreॽ This thesis will show practical examples of how this extended
WebAssembly is sufficient to protect additional abstractionsॶ like object method accessॶ
without needing to introduce heavy language features like first-class object supportॽ
This thesis speculatesॶ but does not proveॶ that with this simple abstract types extension WebAssembly can function as a performant target language for a modular secure
compilerॽ
A
M
A
К
N
M
M
N
К
M
M
SR
A
M