English
Related papers

Related papers: Witnessing Secure Compilation

200 papers

A valid compiler optimisation transforms a block in a program without introducing new observable behaviours to the program as a whole. Deciding which optimisations are valid can be difficult, and depends closely on the semantic model of the…

Programming Languages · Computer Science 2018-02-19 Mike Dodds , Mark Batty , Alexey Gotsman

We address the problem of preserving non-interference across compiler transformations under speculative semantics. We develop a proof method that ensures the preservation uniformly across all source programs. The basis of our proof method…

Programming Languages · Computer Science 2024-11-22 Sören van der Wall , Roland Meyer

Code super-optimization is the task of transforming any given program to a more efficient version while preserving its input-output behaviour. In some sense, it is similar to the paraphrase problem from natural language processing where the…

Machine Learning · Computer Science 2017-06-29 Rudy Bunel , Alban Desmaison , M. Pawan Kumar , Philip H. S. Torr , Pushmeet Kohli

To efficiently execute dynamically typed languages, many language implementations have adopted a two-tier architecture. The first tier aims for low-latency startup times and collects dynamic profiles, such as the dynamic types of variables.…

Programming Languages · Computer Science 2020-10-07 Olivier Flückiger , Andreas Wälchli , Sebastián Krynski , Jan Vitek

Safety and assurance standards often rely on the principle that requirements errors can be minimised by expressing the requirements more formally. Although numerous case studies have shown that the act of formalising previously informal…

Software Engineering · Computer Science 2014-04-29 Ibrahim Habli , Andrew Rae

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 introduce Refinement Reflection, a new framework for building SMT-based deductive verifiers. The key idea is to reflect the code implementing a user-defined function into the function's (output) refinement type. As a consequence, at uses…

Programming Languages · Computer Science 2019-07-16 Niki Vazou , Anish Tondwalkar , Vikraman Choudhury , Ryan G. Scott , Ryan R. Newton , Philip Wadler , Ranjit Jhala

Recent successes in reinforcement learning have lead to the development of complex controllers for real-world robots. As these robots are deployed in safety-critical applications and interact with humans, it becomes critical to ensure…

Systems and Control · Computer Science 2018-12-12 Shromona Ghosh , Felix Berkenkamp , Gireeja Ranade , Shaz Qadeer , Ashish Kapoor

Architecture optimization is the process of automatically generating design options, typically to enhance software's quantifiable quality attributes, such as performance and reliability. Multi-objective optimization approaches have been…

Software Engineering · Computer Science 2024-01-31 Daniele Di Pompeo , Michele Tucci

Logical specifications are widely used to represent software systems and their desired properties. Under system degradation or environmental changes, commonly seen in complex real-world robotic systems, these properties may no longer hold…

Logic in Computer Science · Computer Science 2025-10-20 Ben M. Andrew

Numerous software systems are highly configurable through run-time options, such as command-line parameters. Users can tune some of the options to meet various functional and non-functional requirements such as footprint, security, or…

Software Engineering · Computer Science 2022-10-26 Xhevahire Tërnava , Mathieu Acher , Benoit Combemale

Cache coherence protocols based on self-invalidation and self-downgrade have recently seen increased popularity due to their simplicity, potential performance efficiency, and low energy consumption. However, such protocols result in memory…

Logic in Computer Science · Computer Science 2023-06-22 Parosh Aziz Abdulla , Mohamed Faouzi Atig , Stefanos Kaxiras , Carl Leonardsson , Alberto Ros , Yunyun Zhu

Modern software systems in many application areas offer to the user a multitude of parameters, switches and other customisation hooks. Humans tend to have difficulties determining the best configurations for particular applications. Modern…

Programming Languages · Computer Science 2017-07-14 Chris Fawcett , Lars Kotthoff , Holger H. Hoos

Large Language Models (LLMs) have demonstrated impressive capabilities in understanding and generating codes. Due to these capabilities, many recent methods are proposed to automatically refine the codes with LLMs. However, we should…

Software Engineering · Computer Science 2024-10-31 Minju Seo , Jinheon Baek , Sung Ju Hwang

Correctness for microprocessors is generally understood to be conformance with the associated instruction set architecture (ISA). This is the basis for one of the most important abstractions in computer science, allowing hardware designers…

Cryptography and Security · Computer Science 2025-06-23 Andrew T. Walter , Konstantinos Athanasiou , Panagiotis Manolios

Modularity is the fundamental aspect of modern software engineering, however many advanced modularity techniques requires prospective technologies as part of development and operation process. In this paper, we present Refinable Function,…

Programming Languages · Computer Science 2021-09-15 Hiun Kim

Software model checkers based on under-approximations and SMT solvers are very successful at verifying safety (i.e. reachability) properties. They combine two key ideas -- (a) "concreteness": a counterexample in an under-approximation is a…

Logic in Computer Science · Computer Science 2013-06-11 Anvesh Komuravelli , Arie Gurfinkel , Sagar Chaki , Edmund M. Clarke

As the ECMAScript specification evolves, industrial-scale JavaScript compilers face the challenge of supporting modern language syntax while maintaining compatibility for diverse execution environments. Traditionally, compilers solve this…

Programming Languages · Computer Science 2026-03-20 Rishipal Singh Bhatia

Traditionally, query optimizers have been designed for computer systems that share a common architecture, consisting of a CPU, main memory and disk subsystem. The efficiency of query optimizers and their successful employment relied on the…

Databases · Computer Science 2022-03-03 K. F. D. Rietveld , H. A. G. Wijshoff

Developing an application with high performance through the code optimization places a greater responsibility on the programmers. While most of the existing compilers attempt to automatically optimize the program code, manual techniques…

Programming Languages · Computer Science 2012-03-06 Mohammed Fadle Abdulla