Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleDecember 2024
TeraHeap: Exploiting Flash Storage for Mitigating DRAM Pressure in Managed Big Data Frameworks
- research-articleOctober 2024
(De/Re)-Composition of Data-Parallel Computations via Multi-Dimensional Homomorphisms
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 46, Issue 3Article No.: 10, Pages 1–74https://doi.org/10.1145/3665643Data-parallel computations, such as linear algebra routines and stencil computations, constitute one of the most relevant classes in parallel computing, e.g., due to their importance for deep learning. Efficiently de-composing such computations for the ...
- research-articleMay 2024
Homeostasis: Design and Implementation of a Self-Stabilizing Compiler
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 46, Issue 2Article No.: 6, Pages 1–58https://doi.org/10.1145/3649308Mainstream compilers perform a multitude of analyses and optimizations on the given input program. Each analysis (such as points-to analysis) may generate a program-abstraction (such as points-to graph). Each optimization is typically composed of multiple ...
- research-articleDecember 2023
Exploiting Partially Context-sensitive Profiles to Improve Performance of Hot Code
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 45, Issue 4Article No.: 20, Pages 1–64https://doi.org/10.1145/3612937Availability of profiling information is a major advantage of just-in-time (JIT) compilation. Profiles guide the compilation order and optimizations, thus substantially improving program performance. Ahead-of-time (AOT) compilation can also utilize ...
- research-articleSeptember 2023
Prisma : A Tierless Language for Enforcing Contract-client Protocols in Decentralized Applications
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 45, Issue 3Article No.: 17, Pages 1–41https://doi.org/10.1145/3604629Decentralized applications (dApps) consist of smart contracts that run on blockchains and clients that model collaborating parties. dApps are used to model financial and legal business functionality. Today, contracts and clients are written as separate ...
-
- research-articleJune 2023
Side-channel Elimination via Partial Control-flow Linearization
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 45, Issue 2Article No.: 13, Pages 1–43https://doi.org/10.1145/3594736Partial control-flow linearization is a code transformation conceived to maximize work performed in vectorized programs. In this article, we find a new service for it. We show that partial control-flow linearization protects programs against timing ...
- research-articleJune 2023
Synchronous Deterministic Parallel Programming for Multi-Cores with ForeC
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 45, Issue 2Article No.: 11, Pages 1–74https://doi.org/10.1145/3591594Embedded real-time systems are tightly integrated with their physical environment. Their correctness depends both on the outputs and timeliness of their computations. The increasing use of multi-core processors in such systems is pushing embedded ...
- research-articleJune 2023
Optimization-Aware Compiler-Level Event Profiling
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 45, Issue 2Article No.: 10, Pages 1–50https://doi.org/10.1145/3591473Tracking specific events in a program’s execution, such as object allocation or lock acquisition, is at the heart of dynamic analysis. Despite the apparent simplicity of this task, quantifying these events is challenging due to the presence of compiler ...
- research-articleMay 2023
A Derivative-based Parser Generator for Visibly Pushdown Grammars
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 45, Issue 2Article No.: 9, Pages 1–68https://doi.org/10.1145/3591472In this article, we present a derivative-based, functional recognizer and parser generator for visibly pushdown grammars. The generated parser accepts ambiguous grammars and produces a parse forest containing all valid parse trees for an input string in ...
- research-articleNovember 2021
An Extended Account of Trace-relating Compiler Correctness and Secure Compilation
- Carmine Abate,
- Roberto Blanco,
- Ştefan Ciobâcă,
- Adrien Durier,
- Deepak Garg,
- Cătălin Hriţcu,
- Marco Patrignani,
- Éric Tanter,
- Jérémy Thibault
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 43, Issue 4Article No.: 14, Pages 1–48https://doi.org/10.1145/3460860Compiler correctness, in its simplest form, is defined as the inclusion of the set of traces of the compiled program in the set of traces of the original program. This is equivalent to the preservation of all trace properties. Here, traces collect, for ...
- research-articleSeptember 2021
Safe-by-default Concurrency for Modern Programming Languages
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 43, Issue 3Article No.: 10, Pages 1–50https://doi.org/10.1145/3462206Modern “safe” programming languages follow a design principle that we call safety by default and performance by choice. By default, these languages enforce important programming abstractions, such as memory and type safety, but they also provide ...
- research-articleFebruary 2021
Robustly Safe Compilation, an Efficient Form of Secure Compilation
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 43, Issue 1Article No.: 1, Pages 1–41https://doi.org/10.1145/3436809Security-preserving compilers generate compiled code that withstands target-level attacks such as alteration of control flow, data leaks, or memory corruption. Many existing security-preserving compilers are proven to be fully abstract, meaning that they ...
- research-articleJanuary 2021
Active Learning for Inference and Regeneration of Applications that Access Databases
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 42, Issue 4Article No.: 18, Pages 1–119https://doi.org/10.1145/3430952We present Konure, a new system that uses active learning to infer models of applications that retrieve data from relational databases. Konure comprises a domain-specific language (each model is a program in this language) and associated inference ...
- research-articleNovember 2020
Type Inference for C: Applications to the Static Analysis of Incomplete Programs
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 42, Issue 3Article No.: 15, Pages 1–71https://doi.org/10.1145/3421472Type inference is a feature that is common to a variety of programming languages. While, in the past, it has been prominently present in functional ones (e.g., ML and Haskell), today, many object-oriented/multi-paradigm languages such as C# and C++ offer,...
- research-articleNovember 2020
An Effective Fusion and Tile Size Model for PolyMage
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 42, Issue 3Article No.: 12, Pages 1–27https://doi.org/10.1145/3404846Effective models for fusion of loop nests continue to remain a challenge in both general-purpose and domain-specific language (DSL) compilers. The difficulty often arises from the combinatorial explosion of grouping choices and their interaction with ...
- research-articleMay 2020
Generalized Points-to Graphs: A Precise and Scalable Abstraction for Points-to Analysis
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 42, Issue 2Article No.: 8, Pages 1–78https://doi.org/10.1145/3382092Computing precise (fully flow- and context-sensitive) and exhaustive (as against demand-driven) points-to information is known to be expensive. Top-down approaches require repeated analysis of a procedure for separate contexts. Bottom-up approaches need ...
- research-articleJuly 2019
PYE: A Framework for Precise-Yet-Efficient Just-In-Time Analyses for Java Programs
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 41, Issue 3Article No.: 16, Pages 1–37https://doi.org/10.1145/3337794Languages like Java and C# follow a two-step process of compilation: static compilation and just-in-time (JIT) compilation. As the time spent in JIT compilation gets added to the execution-time of the application, JIT compilers typically sacrifice the ...
- research-articleJuly 2019
Combinatorial Register Allocation and Instruction Scheduling
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 41, Issue 3Article No.: 17, Pages 1–53https://doi.org/10.1145/3332373This article introduces a combinatorial optimization approach to register allocation and instruction scheduling, two central compiler problems. Combinatorial optimization has the potential to solve these problems optimally and to exploit processor-...
- research-articleJanuary 2019
Optimal Choice of When to Garbage Collect
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 41, Issue 1Article No.: 3, Pages 1–35https://doi.org/10.1145/3282438We consider the ultimate limits of program-specific garbage collector (GC) performance for real programs. We first characterize the GC schedule optimization problem. Based on this characterization, we develop a linear-time dynamic programming solution ...
- research-articleDecember 2018
Rigorous Estimation of Floating-Point Round-Off Errors with Symbolic Taylor Expansions
- Alexey Solovyev,
- Marek S. Baranowski,
- Ian Briggs,
- Charles Jacobsen,
- Zvonimir Rakamarić,
- Ganesh Gopalakrishnan
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 41, Issue 1Article No.: 2, Pages 1–39https://doi.org/10.1145/3230733Rigorous estimation of maximum floating-point round-off errors is an important capability central to many formal verification tools. Unfortunately, available techniques for this task often provide very pessimistic overestimates, causing unnecessary ...