English
Related papers

Related papers: On Modular and Fully-Abstract Compilation -- Techn…

200 papers

Formally verified compilers and formally verified static analyzers are a solution to the problem that certain industries face when they have to demonstrate to authorities that the object code they run truly corresponds to its source code…

Logic in Computer Science · Computer Science 2024-07-12 David Monniaux

A transcompiler, also known as source-to-source translator, is a system that converts source code from a high-level programming language (such as C++ or Python) to another. Transcompilers are primarily used for interoperability, and to port…

Computation and Language · Computer Science 2020-09-23 Marie-Anne Lachaux , Baptiste Roziere , Lowik Chanussot , Guillaume Lample

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

Security protocols are used in many of our daily-life applications, and our privacy largely depends on their design. Formal verification techniques have proved their usefulness to analyse these protocols, but they become so complex that…

Cryptography and Security · Computer Science 2014-10-21 Myrto Arapinis , Vincent Cheval , Stéphanie Delaune

Specialized hardware accelerators are becoming important for more and more applications. Thanks to specialization, they can achieve high performance and energy efficiency but their design is complex and time consuming. This problem is…

Hardware Architecture · Computer Science 2021-04-06 Stephanie Soldavini , Christian Pilato

A program that maintains key safety properties even when interacting with arbitrary untrusted code is said to enjoy \emph{robust safety}. Proving that a program written in a mainstream language is robustly safe is typically challenging…

Programming Languages · Computer Science 2022-05-16 Marco Patrignani , Sam Blackshear

In software reverse engineering, decompilation is the process of recovering source code from binary files. Decompilers are used when it is necessary to understand or analyze software for which the source code is not available. Although…

Software Engineering · Computer Science 2021-02-25 Javier Escalada , Ted Scully , Francisco Ortin

Hardware-assisted reference monitoring is receiving increasing attention as a way to improve the security of existing software. One example is the PIPE architecture extension, which attaches metadata tags to register and memory values and…

Cryptography and Security · Computer Science 2020-12-21 CHR Chhak , Andrew Tolmach , Sean Anderson

Current compilers implement security features and optimizations that require nontrivial semantic reasoning about pointers and memory allocation: the program after the insertion of the security feature, or after applying the optimization,…

Logic in Computer Science · Computer Science 2023-12-14 David Monniaux

There is an ongoing effort to provide programming abstractions that ease the burden of exploiting multicore hardware. Many programming abstractions (e.g., concurrent objects, transactional memory, etc.) simplify matters, but still involve…

Programming Languages · Computer Science 2022-05-02 Adam Chen , Parisa Fathololumi , Eric Koskinen , Jared Pincus

In this paper, we develop a compositional approach to abstraction and safety synthesis for a general class of discrete time nonlinear systems. Our approach makes it possible to define a symbolic abstraction by composing a set of symbolic…

Systems and Control · Computer Science 2021-04-09 Pierre-Jean Meyer , Antoine Girard , Emmanuel Witrant

Practically all programming languages allow the programmer to split a program into several modules which brings along several advantages in software development. In this paper, we are interested in the area of answer-set programming where…

Logic in Computer Science · Computer Science 2014-01-16 Tomi Janhunen , Emilia Oikarinen , Hans Tompits , Stefan Woltran

We present JAttack, a framework that enables template-based testing for compilers. Using JAttack, a developer writes a template program that describes a set of programs to be generated and given as test inputs to a compiler. Such a…

Programming Languages · Computer Science 2022-09-13 Zhiqiang Zang , Nathan Wiatrek , Milos Gligoric , August Shi

Compilers convert between representations -- usually, from higher-level, human writable code to lower-level, machine-readable code. A compiler backend is the portion of the compiler containing optimizations and code generation routines for…

Programming Languages · Computer Science 2024-08-29 Gus Henry Smith

We consider two-party quantum protocols starting with a transmission of some random BB84 qubits followed by classical messages. We show a general "compiler" improving the security of such protocols: if the original protocol is secure…

Quantum Physics · Physics 2009-08-31 Ivan Damgaard , Serge Fehr , Carolin Lunemann , Louis Salvail , Christian Schaffner

We present a self-certifying compiler for the COGENT systems language. COGENT is a restricted, polymorphic, higher-order, and purely functional language with linear types and without the need for a trusted runtime or garbage collector. It…

Controller synthesis techniques for continuous systems with respect to temporal logic specifications typically use a finite-state symbolic abstraction of the system model. Constructing this abstraction for the entire system is…

Systems and Control · Computer Science 2017-08-10 Kaushik Mallik , Anne-Kathrin Schmuck , Sadegh Soudjani , Rupak Majumdar

Program synthesis is the task of automatically deriving a program that has been specified by a user in advance. Combining automated theorem proving with program synthesis enables the automated construction of proven-to-be-correct programs,…

Logic in Computer Science · Computer Science 2026-05-20 Márton Hajdu , Petra Hozzová , Laura Kovács , Eva Maria Wagner

In this paper, we consider the problem of controller design using approximately bisimilar abstractions with an emphasis on safety and reachability specifications. We propose abstraction-based approaches to solve both classes of problems. We…

Systems and Control · Computer Science 2011-06-17 Antoine Girard

We describe Active Libraries, which take an active role in compilation. Unlike traditional libraries which are passive collections of functions and objects, Active Libraries may generate components, specialize algorithms, optimize code,…

Numerical Analysis · Mathematics 2025-10-20 Todd L. Veldhuizen , Dennis Gannon