RustBelt: Securing the foundations of the Rust programming language

R Jung, JH Jourdan, R Krebbers, D Dreyer - Proceedings of the ACM on …, 2017 - dl.acm.org
Rust is a new systems programming language that promises to overcome the seemingly
fundamental tradeoff between high-level safety guarantees and low-level control over …

SoK: Sanitizing for security

D Song, J Lettner, P Rajasekaran, Y Na… - … IEEE Symposium on …, 2019 - ieeexplore.ieee.org
The C and C++ programming languages are notoriously insecure yet remain indispensable.
Developers therefore resort to a multi-pronged approach to find security issues before …

Alive2: bounded translation validation for LLVM

NP Lopes, J Lee, CK Hur, Z Liu, J Regehr - Proceedings of the 42nd …, 2021 - dl.acm.org
We designed, implemented, and deployed Alive2: a bounded translation validation tool for
the LLVM compiler's intermediate representation (IR). It limits resource consumption by, for …

RefinedC: automating the foundational verification of C code with refined ownership types

M Sammler, R Lepigre, R Krebbers… - Proceedings of the …, 2021 - dl.acm.org
Given the central role that C continues to play in systems software, and the difficulty of
writing safe and correct C code, it remains a grand challenge to develop effective formal …

Hyperkernel: Push-button verification of an OS kernel

L Nelson, H Sigurbjarnarson, K Zhang… - Proceedings of the 26th …, 2017 - dl.acm.org
This paper describes an approach to designing, implementing, and formally verifying the
functional correctness of an OS kernel, named Hyperkernel, with a high degree of proof …

Silent Bugs Matter: A Study of {Compiler-Introduced} Security Bugs

J Xu, K Lu, Z Du, Z Ding, L Li, Q Wu, M Payer… - 32nd USENIX Security …, 2023 - usenix.org
Compilers assure that any produced optimized code is semantically equivalent to the
original code. However, even" correct" compilers may introduce security bugs as security …

Modular, compositional, and executable formal semantics for LLVM IR

Y Zakowski, C Beck, I Yoon, I Zaichuk, V Zaliva… - Proceedings of the …, 2021 - dl.acm.org
This paper presents a novel formal semantics, mechanized in Coq, for a large, sequential
subset of the LLVM IR. In contrast to previous approaches, which use relationally-specified …

Understanding and evolving the Rust programming language

R Jung - 2020 - publikationen.sulb.uni-saarland.de
Rust is a young systems programming language that aims to fill the gap between high-level
languages—which provide strong static guarantees like memory and thread safety—and low …

Exploring C semantics and pointer provenance

K Memarian, VBF Gomes, B Davis, S Kell… - Proceedings of the …, 2019 - dl.acm.org
The semantics of pointers and memory objects in C has been a vexed question for many
years. C values cannot be treated as either purely abstract or purely concrete entities: the …

Simuliris: a separation logic framework for verifying concurrent program optimizations

L Gäher, M Sammler, S Spies, R Jung… - Proceedings of the …, 2022 - dl.acm.org
Today's compilers employ a variety of non-trivial optimizations to achieve good performance.
One key trick compilers use to justify transformations of concurrent programs is to assume …