Not so fast: Analyzing the performance of {WebAssembly} vs. native code

A Jangda, B Powers, ED Berger, A Guha - 2019 USENIX Annual …, 2019 - usenix.org
All major web browsers now support WebAssembly, a low-level bytecode intended to serve
as a compilation target for code written in languages like C and C++. A key goal of …

ISA Semantics for ARMv8-a, RISC-v, and CHERI-MIPS

A Armstrong, T Bauereiss, B Campbell, A Reid… - Proceedings of the …, 2019 - dl.acm.org
Architecture specifications notionally define the fundamental interface between hardware
and software: the envelope of allowed behaviour for processor implementations, and the …

QED at large: A survey of engineering of formally verified software

T Ringer, K Palmskog, I Sergey… - … and Trends® in …, 2019 - nowpublishers.com
Abstract Development of formal proofs of correctness of programs can increase actual and
perceived reliability and facilitate better understanding of program specifications and their …

A complete formal semantics of x86-64 user-level instruction set architecture

S Dasgupta, D Park, T Kasampalis, VS Adve… - Proceedings of the 40th …, 2019 - dl.acm.org
We present the most complete and thoroughly tested formal semantics of x86-64 to date. Our
semantics faithfully formalizes all the non-deprecated, sequential user-level instructions of …

Using safety properties to generate vulnerability patches

Z Huang, D Lie, G Tan, T Jaeger - 2019 IEEE symposium on …, 2019 - ieeexplore.ieee.org
Security vulnerabilities are among the most critical software defects in existence. When
identified, programmers aim to produce patches that prevent the vulnerability as quickly as …

Narcissus: correct-by-construction derivation of decoders and encoders from binary formats

B Delaware, S Suriyakarn, C Pit-Claudel, Q Ye… - Proceedings of the …, 2019 - dl.acm.org
It is a neat result from functional programming that libraries of parser combinators can
support rapid construction of decoders for quite a range of formats. With a little more work …

The high-level benefits of low-level sandboxing

M Sammler, D Garg, D Dreyer, T Litak - Proceedings of the ACM on …, 2019 - dl.acm.org
Sandboxing is a common technique that allows low-level, untrusted components to safely
interact with trusted code. However, previous work has only investigated the low-level …

An abstract stack based approach to verified compositional compilation to machine code

Y Wang, P Wilke, Z Shao - Proceedings of the ACM on Programming …, 2019 - dl.acm.org
A key ingredient contributing to the success of CompCert, the state-of-the-art verified
compiler for C, is its block-based memory model, which is used uniformly for all of its …

A verified protocol buffer compiler

Q Ye, B Delaware - Proceedings of the 8th ACM SIGPLAN International …, 2019 - dl.acm.org
The code responsible for serializing and deserializing untrusted external data is a vital
component of any software that communicates with the outside world, as any bugs in these …

[PDF][PDF] Compiling sandboxes: Formally verified software fault isolation

F Besson, S Blazy, A Dang, T Jensen… - … 2019, Held as Part of the …, 2019 - library.oapen.org
Software Fault Isolation (SFI) is a security-enhancing program transformation for
instrumenting an untrusted binary module so that it runs inside a dedicated isolated address …