English
Related papers

Related papers: CapablePtrs: Securely Compiling Partial Programs U…

200 papers

Capability-based memory isolation is a promising new architectural primitive. Software can access low-level memory only via capability handles rather than raw pointers, which provides a natural interface to enforce security restrictions.…

Cryptography and Security · Computer Science 2023-03-10 Jason Zhijingcheng Yu , Conrad Watt , Aditya Badole , Trevor E. Carlson , Prateek Saxena

Compartmentalization is a form of defensive software design in which an application is broken down into isolated but communicating components. Retrofitting compartmentalization into existing applications is often thought to be expensive…

Cryptography and Security · Computer Science 2023-09-22 John Alistair Kressel , Hugo Lefeuvre , Pierre Olivier

During the past few years, we have witnessed various efforts to provide confidentiality and integrity for applications running in untrusted environments such as public clouds. In most of these approaches, hardware extensions such as Intel…

Cryptography and Security · Computer Science 2025-11-25 Robert Krahn , Nikson Kanti Paul , Franz Gregor , Do Le Quoc , Andrey Brito , André Martin , Christof Fetzer

The correctness of complex software depends on the correctness of both the source code and the compilers that generate corresponding binary code. Compilers must do more than preserve the semantics of a single source file: they must ensure…

Programming Languages · Computer Science 2024-09-04 Luke Geeson , James Brotherston , Wilco Dijkstra , Alastair F. Donaldson , Lee Smith , Tyler Sorensen , John Wickerson

Environmental noise (e.g.heat, ionized particles, etc.) causes transient faults in hardware, which lead to corruption of stored values. Mission-critical devices require such faults to be mitigated by fault-tolerance --- a combination of…

Cryptography and Security · Computer Science 2014-10-28 Filippo Del Tedesco , David Sands , Alejandro Russo

The heap is a critical and widely used component of many applications. Due to its dynamic nature, combined with the complexity of heap management algorithms, it is also a frequent target for security exploits. To enhance the heap's…

Cryptography and Security · Computer Science 2024-06-06 Zhenpeng Lin , Zheng Yu , Ziyi Guo , Simone Campanoni , Peter Dinda , Xinyu Xing

WebAssembly (Wasm) is a next-generation portable compilation target for deploying applications written in high-level languages on the web. In order to protect their memory from untrusted code, web browser engines confine the execution of…

Programming Languages · Computer Science 2019-10-23 Marco Vassena , Marco Patrignani

Coherent causal memory (CCM) is causal memory in which prefixes of an execution can be mapped to global memory states in a consistent way. While CCM requires conflicting pairs of writes to be globally ordered, it allows writes to remain…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-04-09 Ernie Cohen

Dependently typed programming languages such as Coq, Agda, Idris, and F*, allow programmers to write detailed specifications of their programs and prove their programs meet these specifications. However, these specifications can be violated…

Programming Languages · Computer Science 2025-09-12 Paulette Koronkevich , William J. Bowman

It is common to prove by reasoning over source code that programs do not leak sensitive data. But doing so leaves a gap between reasoning and reality that can only be filled by accounting for the behaviour of the compiler. This task is…

Logic in Computer Science · Computer Science 2020-10-23 Robert Sison , Toby Murray

Image processing and machine learning applications benefit tremendously from hardware acceleration, but existing compilers target either FPGAs, which sacrifice power and performance for flexible hardware, or ASICs, which rapidly become…

Classes on compiler technology are commonly found in Computer Science curricula, covering aspects of parsing, semantic analysis, intermediate transformations and target code generation. This paper reports on introducing certified…

Programming Languages · Computer Science 2019-06-28 Per Lindgren , Marcus Lindner , Nils Fitinghoff

Compilers are a prime target for formal verification, since compiler bugs invalidate higher-level correctness guarantees, but compiler changes may become more labor-intensive to implement, if they must come with proof patches. One appealing…

Programming Languages · Computer Science 2025-03-12 Jason Gross , Andres Erbsen , Jade Philipoom , Rajashree Agrawal , Adam Chlipala

Memory safety is a key security property that stops memory corruption vulnerabilities. Existing sanitizers enforce checks and catch such bugs during development and testing. However, they either provide partial memory safety or have…

Cryptography and Security · Computer Science 2022-02-09 Yuan Li , Wende Tan , Zhizheng Lv , Songtao Yang , Mathias Payer , Ying Liu , Chao Zhang

The CHERI architecture equips conventional RISC ISAs with significant architectural extensions that provide a hardware-enforced mechanism for memory protection and software compartmentalisation. Architectural capabilities replace…

Hardware Architecture · Computer Science 2025-02-10 Louis-Emile Ploix , Alasdair Armstrong , Tom Melham , Ray Lin , Haolong Wang , Anastasia Courtney

Coherent parity check (CPC) codes are a new framework for the construction of quantum error correction codes that encode multiple qubits per logical block. CPC codes have a canonical structure involving successive rounds of bit and phase…

Quantum Physics · Physics 2018-06-08 Joschka Roffe , David Headley , Nicholas Chancellor , Dominic Horsman , Viv Kendon

Compiler-based Control-Flow Integrity (CFI) offers strong forward-edge protection but remains challenging to deploy in large C/C++ software due to visibility mismatches, type inconsistencies, and unintended behavioral failures. We present…

Software Engineering · Computer Science 2025-12-30 Sabine Houy , Bruno Kreyssig , Alexandre Bartel

Compilers are used to run programs that are written in a range of designs from text to executable formats. With the advent of the internet, studies related to the development of cloud based compilers are being carried out. There is a…

Programming Languages · Computer Science 2016-05-09 Ramkumar Lakshminarayanan , Balaji Dhanasekaran , Ben George Ephre

In his 1984 Turing Award lecture, Ken Thompson showed that a compiler could be maliciously altered to insert backdoors into programs it compiles and perpetuate this behavior by modifying any compiler it subsequently builds. Thompson's hack…

Programming Languages · Computer Science 2025-08-19 Guilherme de Oliveira Silva , Fernando Magno Quintão Pereira

We present our ongoing work on developing an end-to-end verified Rust compiler based on CompCert. It provides two guarantees: one is semantics preservation from Rust to assembly, i.e., the behaviors of source code includes the behaviors of…

Programming Languages · Computer Science 2026-02-10 Jinhua Wu , Yuting Wang , Liukun Yu , Linglong Meng