English
Related papers

Related papers: Constructing Hybrid Incremental Compilers for Cros…

200 papers

A discrete-event simulation (DES) involves the execution of a sequence of event handlers dynamically scheduled at runtime. As a consequence, a priori knowledge of the control flow of the overall simulation program is limited. In particular,…

Performance · Computer Science 2018-05-14 Marc Leinweber , Hannes Hartenstein , Philipp Andelfinger

Synchronous languages rely on formal methods to ease the development of applications in an efficient and reusable way. Formal methods have been advocated as a means of increasing the reliability of systems, especially those which are safety…

Programming Languages · Computer Science 2009-04-20 Annie Ressouche , Daniel Gaffé , Valérie Roy

Optimizations in a traditional compiler are applied sequentially, with each optimization destructively modifying the program to produce a transformed program that is then passed to the next optimization. We present a new approach for…

Programming Languages · Computer Science 2015-07-01 Ross Tate , Michael Stepp , Zachary Tatlock , Sorin Lerner

Complex software-driven systems often interleave distributed, concurrent computation processes with physical interactions with the environment. Developing these systems more efficiently and safely can be achieved by employing actionable,…

Software Engineering · Computer Science 2025-11-20 Hiep Hong Trinh , Federico Ciccozzi , Abu Naser Masud , Marjan Sirjani , Mikael Sjödin

Compiler optimization is crucial for enhancing program performance by transforming the sequence of optimization passes while maintaining correctness. Despite the promising potential of large language models (LLMs)-based agent for software…

Programming Languages · Computer Science 2025-10-15 Hongyu Lin , Haolin Pan , Haoran Luo , Yuchen Li , Kaichun Yao , Libo Zhang , Mingjie Xing , Yanjun Wu

Instruction combiner (IC) is a critical compiler optimization pass, which replaces a sequence of instructions with an equivalent and optimized instruction sequence at basic block level. There can be thousands of instruction-combining…

Machine Learning · Computer Science 2022-02-28 Sandya Mannarswamy , Dibyendu Das

Widely used compilers like GCC and LLVM usually have hundreds of optimizations controlled by optimization flags, which are enabled or disabled during compilation to improve runtime performance (e.g., small execution time) of the compiler…

Programming Languages · Computer Science 2023-05-01 Mingxuan Zhu , Dan Hao , Junjie Chen

Automated compilation error repair, the problem of suggesting fixes to buggy programs that fail to compile, has generated significant interest in recent years. Apart from being a tool of general convenience, automated code repair has…

Software Engineering · Computer Science 2020-05-29 Darshak Chhatbar , Umair Z. Ahmed , Purushottam Kar

Despite extensive testing and correctness certification of their functional semantics, a number of compiler optimizations have been shown to violate security guarantees implemented in source code. While prior work has shed light on how such…

Cryptography and Security · Computer Science 2021-09-30 Michael D. Brown , Matthew Pruett , Robert Bigelow , Girish Mururu , Santosh Pande

The rapid advancement of AI-assisted software engineering has brought transformative potential to the field of software engineering, but existing tools and paradigms remain limited by cognitive overload, inefficient tool integration, and…

Software Engineering · Computer Science 2026-03-12 Filipe R. Cogo , Gustavo A. Oliva , Ahmed E. Hassan

Iteration is a programming operation that traditionally refers to visiting the elements of a data structure in sequence. However, modern programming systems such as Rust, Java, and C# generalise iteration far beyond the traditional use…

Logic in Computer Science · Computer Science 2022-10-19 Aurel Bílý , Jonas Hansen , Peter Müller , Alexander J. Summers

The choice of how to represent an abstract type can have a major impact on the performance of a program, yet mainstream compilers cannot perform optimizations at such a high level. When dealing with optimizations of data type…

Programming Languages · Computer Science 2024-09-13 Viktor Palmkvist , Anders Ågren Thuné , Elias Castegren , David Broman

We present an extension to the labelling approach, a technique for lifting resource consumption information from compiled to source code. This approach, which is at the core of the annotating compiler from a large fragment of C to 8051…

Programming Languages · Computer Science 2013-06-13 Paolo Tranquilli

A typical compiler flow relies on a uni-directional sequence of translation/optimization steps that lower the program abstract representation, making it hard to preserve higher-level program information across each transformation step. On…

Programming Languages · Computer Science 2022-02-10 Vinicius Couto , Luciano Zago , Hervé Yviquel , Guido Araújo

Harnessing the power of dependently typed languages can be difficult. Programmers must manually construct proofs to produce well-typed programs, which is not an easy task. In particular, migrating code to these languages is challenging.…

Programming Languages · Computer Science 2021-07-13 Joseph Eremondi , Ronald Garcia , Éric Tanter

GPUs and other accelerators are popular devices for accelerating compute-intensive, parallelizable applications. However, programming these devices is a difficult task. Writing efficient device code is challenging, and is typically done in…

Programming Languages · Computer Science 2018-10-23 Tim Besard , Christophe Foket , Bjorn De Sutter

In this paper, we present a framework to generate compilers for embedded domain-specific languages (EDSLs). This framework provides facilities to automatically generate the boilerplate code required for building DSL compilers on top of…

Programming Languages · Computer Science 2018-08-07 Amir Shaikhha , Vojin Jovanovic , Christoph Koch

We present Calyx, a new intermediate language (IL) for compiling high-level programs into hardware designs. Calyx combines a hardware-like structural language with a software-like control flow representation with loops and conditionals.…

Programming Languages · Computer Science 2021-11-17 Rachit Nigam , Samuel Thomas , Zhijing Li , Adrian Sampson

Consider the problem of imputing missing values in a dataset. One the one hand, conventional approaches using iterative imputation benefit from the simplicity and customizability of learning conditional distributions directly, but suffer…

Machine Learning · Statistics 2022-06-17 Daniel Jarrett , Bogdan Cebere , Tennison Liu , Alicia Curth , Mihaela van der Schaar

Binary decompilation plays an important role in software security analysis, reverse engineering, and malware understanding when source code is unavailable. However, existing decompilation techniques often fail to produce source code that…

Software Engineering · Computer Science 2026-04-14 Xiaohan Wang , Yuxin Hu , Kevin Leach