Trace-Relating Compiler Correctness and Secure Compilation
Carmine Abate, Roberto Blanco, Stefan Ciobaca, Adrien Durier, Deepak, Garg, Catalin Hritcu, Marco Patrignani, \'Eric Tanter, J\'er\'emy Thibault

TL;DR
This paper introduces a generalized framework for compiler correctness that accounts for differences in trace observations between source and target languages, providing insights into preserving properties and security guarantees.
Contribution
It proposes a novel generalized compiler correctness definition using trace relations, extending traditional notions to cover complex language differences and security considerations.
Findings
Provides a generic characterization of trace properties preserved by compilation.
Accounts for issues like undefined behavior, resource exhaustion, and side-channels.
Extends to secure compilation, ensuring protection against adversarial code.
Abstract
Compiler correctness is, in its simplest form, defined as the inclusion of the set of traces of the compiled program into the set of traces of the original program, which is equivalent to the preservation of all trace properties. Here traces collect, for instance, the externally observable events of each execution. This definition requires, however, the set of traces of the source and target languages to be exactly the same, which is not the case when the languages are far apart or when observations are fine-grained. To overcome this issue, we study a generalized compiler correctness definition, which uses source and target traces drawn from potentially different sets and connected by an arbitrary relation. We set out to understand what guarantees this generalized compiler correctness definition gives us when instantiated with a non-trivial relation on traces. When this trace relation…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Adversarial Robustness in Machine Learning · Advanced Malware Detection Techniques
